MapLab3D
THIS SITE IS UNDER CONSTRUCTION
Maplap3D is a software and serves to generate STL files for 3D printing relief maps. Elevation information and OpenStreetMap data are linked to create a printable model by, for example, printing water bodies and forests in a different color and separately and then inserting them into the printed landscape model. With this software, the map data can be taken over unedited, or they can be edited individually in a 2D model and then printed. Edited projects can be saved and called up again later.
Security information
Proper use
Maplap3D serves to generate STL files for 3D printing relief maps. The software is made for installation on your personal computer. Not suitable for commercial purposes.
Warning
Please follow general rules for using computers. Do not sit too close to the screen. Keep screen time and take regular break when using the computer.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the software described. Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the information in this publication is reviewed regularly and any necessary corrections are included in subsequent editions. To date, the software has only been tested on Windows operating systems. It should run similarly on other operating systems, but no liability is assumed for this.
Notes in the text
Preface
These operating instructions are for users of the software Maplab3D. It is intended to enable the user to operate the program professionally and without errors. The included services are described, the software and parts of it is explained and examples and pictures are used to guide the user through the program. At the end of the instructions, you will find possible errors and how to deal with them. The manual is applicable to a Windows operating system.
Feel free to contact the developer for improvement suggestions or to give information about the software running on different operating systems.
Example projects
Picture | Name | Description | License | STL files | MapLab3D Parameter | ||||
---|---|---|---|---|---|---|---|---|---|
Version | Zoom | Number (of colours) |
Max Object Size (mm x mm) |
Number of Tiles | |||||
Heidelberg small | Small area of Heidelberg Old town | Free | Link zu den STL Dateien | 1.0.0 | 1:10000 | 3 | 150 x 150 | 1 | |
Heidelberg big | Big area of Heidelberg Old town | Free | Link zu den STL Dateien | 1.0.0 | 1:10000 | 3 | 350 x 150 | 2 |
Maplab3D-Folder structure
It is strongly recommended to save the programme and the data separately. This has the advantage that a data backup is easier and an update of the programme is also simplified. The programme data should be saved on drive C: in the structure:
C:\Program Files\Maplab3D
C:\Program Files\Maplab3D\appdata
C:\Program Files\Maplab3D\application
C:\Program Files\Maplab3D\uninstall
C:\Program Files\MATLAB\MATLAB Runtime\Vxx
where Vxx corresponds to the version that is compatible with the MapLab3d application. This is automatically installed during the first installation.
The data structure can have the following elements: ……\Maplab3D 1.0.0\......
File | Description |
---|---|
MAT | Elevation Data in a different format. This file is smaller than the original from EarthExplorer and could be created with the software. |
OSM | OSM data can be collected here |
Project_Balg | For saving specific project data, such as protocol files, STL files. Each project should have its own subdirectory. |
SRTM | Elevation data can be collected here. Be careful with the SRTM files in this directory. These are always all read in. This can take a long time under certain circumstances. |
Symbols | Further pictures of symbols can be collected here |
MapLab3D_PP_color_database.xlsx | Collection of the parameters of filaments that are not currently required. This means that the project parameter file is smaller and loading is faster. |
MapLab3D_PP_Reference_1.0.x.xlsx | Excel sheet for further descriptions of settings in the project parameters, as a reference |
MapLab3D_Project_Parameters_1.0.x.xlsx | Excel sheet with current project parameters |
MapLab3D_Versionen.xlsx | Change Log for the APP |
Shortcuts
File | Description |
---|---|
OSM | Open Street Map |
STL | Stereolithography A widely used 3D printing process. Data of a 3D model that describes a surface geometry with the help of triangles. |
SRTM | Shuttle Radar Topography Mission. This is remote sensing data that is used to create a standardised, high-resolution digital terrain model of the earth's surface. |
PP | Project Parameter |
Installation
Download and install the software MapLab3D
Requirements
The programme MapLab3D and a runtime library MatLab Runtime are required. It is recommended to save the data separately from the software. A data directory must be created with the various folders as described in the chapter 4 “Maplab3D-Folder structure”.
Installation
- Download Maplab3d_x_x_x.zip where x_x_x is the actual version of the program.
- Extract the folder
- Install the “Maplab3D_WebInstaller.exe” by double clicking on the icon in the directory
- Maybe some safety options on your computer will occur, they will not lead to further problems
- The application as well as the also required “MATLAB Runtime” will be installed in the program directory
- Directory can also be changed. The recommended location is C:\Program Files, see “Chapter 4 Maplab3D-Folder structure”.
- Reboot your computer to guarantee the running system
For detailed information on the runtime library see: https://de.mathworks.com/help/compiler/matlab-runtime.html
Download and install Osmosis
In some cases, the additional program Osmosis is required.
This program extracts small areas from larger OpenStreetMap files. This program could be downloaded from: Osmosis for Windows. The installation directory is independent from MapLab3D. In the program MapLab3D under the menu “Extra-Enter Osmosis/bin path” you must set the right path to osmosis. MapLab3d will call this program to extract the necessary data.
Data sources
The programme must be supplied with data. Various data sources are required to create a map. Firstly, geodata is required that contains the individual objects on the map; e.g., churches, streets, bus stops, traffic lights etc. These can be downloaded from Open Street Map or Geofabrik, for example. Elevation data is also required. Here the source is Earthexplorer. The centrepiece is an Excel file with the description of all the objects used. All properties (e.g., colour, thickness of lines, etc.) are defined for each object.
Open Street Map, Geofabrik
Link: https://www.openstreetmap.org, https://www.geofabrik.de/de/index.html Open the link to OpenStreetMap. The following screen will appear.
![]() |
![]() |
Next click on the "Export" button in the line above the picture. OpenStreetMap will offer the longitude and latitude of the map section. Under this coordinates you find a link "Select another area manually" to display the selected area in the map. Using the mouse and/or the buttons on the right side of the map, the higlighted cutout can be changed so that the desired section is customized. The coordinates in the window on the left are updated. The data can then be downloaded using the "Export" button.
If the area has to many information you will run into the following error message.
You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm |
To get an idea of how large the printout could be, the software MapLab3D can be used. (Picture 4 Tab "lat.lon - x,y"). When the final data for longitude and latitude have been determined and entered into the boxes at OpenStreetMap,
Structure of an OSM-File
After download: the structure is in an xml format. However, you have not to deal with this file and single tags. One Node has the following structure:
<node id="266991726" visible="true" version="5" changeset="132014000" timestamp="2023-02-02T18:16:05Z" user="Dominic Z" uid="56475" lat="48.7864598" lon="8.2181154">
- <tag k="bus" v="yes"/>
- <tag k="direction" v="forward"/>
- <tag k="name" v="Balg Klinik"/>
- <tag k="public_transport" v="stop_position"/>
- <tag k="ref:IFOPT" v="de:08211:31852:0:1"/>
- <tag k="short_name" v="Klinik"/>
</node>
Description: node-id 64-bit integer number. The necessary information is lat and lon which are the coordinates of the node-id.
Tags followed are descriptions of the point of interest.
This node-id specifies a bus stop in Baden-Baden Balg with direction of the bus line, name of the bus stop.
"Tag in the OpenStreetMap file"
With the lowest button on the right side, it is possible to click on an object on the map, for example the bus stop. Then you get all information of the surrounding on the left side of the screen. With another click on the tag “Bushaltestelle Balg Klinik there are all information of the tag. This is very helpful to set the right parameter in the project parameter file. In the project parameter file for all tags (like bus-stop, traffic light, church, castle, …) are definitions made. So, for the first map nothing must be changed here.
Elevation data need to be downloaded
https://earthexplorer.usgs.gov/ The elevation data is provided courtesy of the U.S. Geological Survey.
Here you need to create your own user account to be able to use the data. Use the tab “search criteria” and leave everything as default. The area of interest is under Polygon, Circle, Predefined Area. The easiest area to use is Polygon. Below this, the tabs "Degree/Minute/Second" and "Decimal" are displayed. The coordinates of the map section must be entered here. “Decimal" is the easiest to use, as it has already been used in OSM.
Project parameters
Reference Project Parameters
The reference file cannot be loaded.
For a reference, examples are created in the file "MapLab3D_ProjectParameters_x_x_x_x_Reference.xlsx" (sheet PP ref). The structure of the necessary data can be seen here. Explanations for the parameters are made in the column T (also column 20) called description. In column U (also column 21) called “Remarks” there is a detailed explanation of the individual parameters Examples for individual objects such as lines, areas and texts can be found in further sheets:
- line style: example of the parameters used with lines
- Area style example of the parameters used with areas
- Text no_frame example of the parameters used with text without frame
- Text no_bgd example of the parameters used with text on a background
- Papertype codes of the different paper sizes
- formattype example of the export of grafics
- Links: contains many links for further information. It could be help to understand the data sources and facilitate the handling of the data.
- scales list of the usual scales for maps and information about use and possible size
In der Beispieldatei sind noch folgende Tabellenblätter enthalten:
„projpar summary“: Beim Laden der Projektparameter wird im Projektverzeichnis eine Textdatei abgelegt mit nützlichen Informationen, deren Inhalt dort hineinkopiert werden kann.
„map2stl summary“: Entspr.: Kopie der Textdatei mit Informationen nach dem Erstellen der STL-Dateien
„map objects table“: Eingefügter Inhalt der Zwischenablage nach Drücken des Buttons „Copy table to clipboard“
„corrections“: Inhalt der erstellten Textdatei aus dem Speicherort der Projektparameterdatei, wenn z. B. wegen fehlender Parameter das Laden abgebrochen wird.
„STL“: Hier kann die Liste der erstellten STL-Dateien aus „map2stl summary“ eingefügt werden. Die Liste kann manuell ergänzt werden um die Ergebnisse aus dem Slicer-Programm (Filamentverbrauch, Druckdauer, …) und um daraus eine Liste zum Abhaken zu machen. (Bei der BUGA-Karte gab es 83 Dateien, genauso oft musste der Drucker gestartet werden.)
MapLab3D_ProjectParameters
A sample file is installed with the program, which provides useful results with just a few adjustments. (MapLab3D_ProjectParameters_x_x_x_x.xlsx). Please always work with a copy of the file. If lines are moved by copying and pasting, it is always possible to revert to the original version. If the MapLab3D_ProjectParameters file is damaged, the MapLab programme will detect this and generate a corresponding error message. A file called ...corrections.txt is created and saved in the MapLab3D directory. This is a text file that is best opened with Excel. The erroneous entries are described in the text file.
A Dataset_x column (from column S = 19 to column U = 21) must be created in this file for each project. This makes it possible to manage several projects with only one file.
Which dataset is to be loaded is controlled via lines 6, 7 and 8 of column Q (column 17) (under the "Project" section, see Table 4 Project Parameter). This parameter file is loaded manually once at the start of the work and then applies to the entire project (menu : File - load project parameter). Changes in this file also mean that the file has to be reload into MapLab3D again (menu : File - reload project parameter). The same dataset can be used in several projects. The result will always look the same.
Structure of the parameter file
Colors
In the table different areas are highlighted with colors. The areas have special meanings as follows:
blue areas | important areas |
grey areas | they contain formulas or references to other cells |
orange areas | after changes here the OSM file has to be reloaded. This are changes in the scale of the map. |
Dark blue areas | The most important information about the object (display, minscale, maxscale, description), colored for better clarity |
Light blue areas | Further important information about the object (prio, color_no_fgd, color_no_bgd, tag_incl, tag_excl) |
Green area, white area in column S, T, U (19-21) | this are the colors of the used filament |
empty | There are other color-coded cells that contain formulas and belong together thematically. |
Columns
The project parameters are stored internally in a so-called structure array (a data type that groups related data using data containers called fields).
Col-# | Col-Name | Explanation / Hint |
A | Field1 | Field name 1 |
B | SNMC1 | String, Numeric or Cell Value “S”, “N”, “C” |
C | R1 | Number of Row Numeric |
D | C1 | Number of Column Numeric |
E | Field2 | Field name 2 |
F | SNMC2 | String, Numeric or Cell Value “S”, “N”, “C” |
G | R2 | Number of Row Numeric |
H | C2 | Number of Column Numeric |
I | Field3 | Field name 3 |
J | SNMC3 | String, Numeric or Cell Value “S”, “N”, “C” |
K | R3 | Number of Row Numeric |
L | C3 | Number of Column Numeric |
M | Field4 | Field name 4 |
N | SNMC4 | String, Numeric or Cell Value “S”, “N”, “C” |
O | R4 | Number of Row Numeric |
P | C4 | Number of Column Numeric |
Q | Project | Actual project Data used. The values entered here are used to select a data set. |
S | DATASET_1 | The data sets contain different map layouts or different project-specific adaptations. Different scales can be managed in the project parameters. This means that different map sizes can be tried out with one project file. |
T | DATASET_2 | The scale used is defined in project.scale (row 12 column Q (=13)). The program selects the correct column on the basis of the selected project name in row 10. |
U | DATASET_3 | The values general.minscale and general.maxscale contain the limits of the scale for a specific dataset |
W | Unit | Unit like Degree, mm etc. Max length 10 Character |
X | Description | Contains a more detailed explanation of the individual project parameters. More details can be found in ProjectParameters_Preferencec. |
Rows
The table is divided into sections. These do not have fixed row numbers, but are based on the field names 1-3. All those with the same field name belong to one section. This is followed by another section. So it is easy to add a parameter to the existing file. The sorting order of the lines does not matter, but for better readability the sorting order of the reference file should be maintained.
Row Explanation Hint 1-4 Header of the table Leave unchanged 5-15 Project parameter Changes in Col M (13) “FIELD1” = general general project settings Do not change something here “FIELD1” = legend Settings of the legend “Row 1” = frame Frame of the printed map “Row 1” = testsample Colorsample: Erstellt die STL-Daten eines Farbmusters zum Ausdrucken Textsample: Erstellt die STL-Daten eines Textmusters zum Ausdrucken (Testen von z. B. Schriftarten und Schriftgröße) Symbolsample: Erstellt die STL-Daten von einzelnen Kartensymbolen zum Ausdrucken “Row 1” = color Daten der verschiedenen Farben. Die Farbnummer ist der Wert in der Spalte R1. “Row 1” = colorspec Weitere Datensätze mit Einstellungen, die den Farben zugewiesen werden (z. B. Spaltmaße zur Seite und nach unten). So muss bei den Farben nur noch die colorspec-Nummer eingegeben werden (Wert in der Spalte R1). “Row 1” = charstyle Vordefinierte Schriftarten. So muss bei den Kartenobjekten nur noch die Nummer der Schriftart eingegeben werden (Wert in der Spalte R1). “Row 1” = defobj Default object parameters that are valid for most objects. “Row 1” = obj Map object parameters. You only need to specify the values that differ from the default object parameters. When the project parameters are loaded, all unspecified object parameters are replaced by the default values.
User Interface
User interface of Maplab3D
Start window of MapLab3D, Tab „Edit map“ selected
Menus
File View Extra Load complete OSM-File (only small .osm-file) Load project Load OSM-file with filtering (large files, recommended) Reload project Load only OSM-boundaries (set scale+exaggeration) Save project Load evelation-data Save project as Do not load elevation-data (set the scale) Change project directory Load project parameters Recreate the whole map Reload project parameters Recreate certain objects, keep the rest Load OSM- and elevation-data Recreate Legend Load setting Create Text Create map Create Symbols Create map settings Map editing Find overlapping texts/symbols Create frame STL file Simplify Map Create map STL files Cut into pieces Create test sample STL files Exit Create color samples STL files Create text samples STL files Create symbols samples STL files
File View Extra Resolution original Create 3D map preview Resolution original filtered 3D preview settings Interpolated and filtered Create OSM raw data Show only elevation Show contour lines Show abjects as lines Show contour lines settings Show objects as patches Show tile numbers on map Show tile number 1 Map creation: Show test plots Ask for tile number Map simplification: Show test plots Show all Open figure file (.fig) Schow limits and tiles Current figure toggle camera toolbar Show minor contour lines Show contours with labels
File View Extra Source file extension: .pbf Display character style preview Source file extension: osm Load symbols Destination file extension: .pbf Call Osmosis Destination file extension: .osm Call Osmosis settings Extract bounding box Enter …/osmosis/bin path Do not reduce the map size Show diary path Extract all include tags Command line Do not reduce the data
9.2. Tab
Picture 9 Tab "Edit Map - Changes"
Picture 10 Tab "Edit Map - Preview"
Picture 11 Tab "Filter OSM-date"
Picture 12 Tab "lat.lon - x,y"
To get an idea of how large the printout could be, the software MapLab3D can be used. With this table (Picture 11 Tab "lat.lon - x,y"), longitudes and latitudes can be converted into width and length of a printout, always depending on a scale. To do so enter data into the fields:
Field Value Description Scale 50000 For Scale 1:50000 Origin longitute / degree the approximate middle from the two longitudes Origen latitude / degree the approximate middle from the two latitudes In the last four fields Longitude of the left edge of the bounding box (lonmin) / degree Longitude of the right edge of the bounding box (lonmax) / degree Latitude of the left edge of the bounding box (latmin) / degree Latitude of the right edge of the bounding box (latmax) / degree
Depending on the scale, these values are converted into mm map size (=size of the printout). The mm specifications can be changed to indicate "even". The longitude and latitude will be adjusted accordingly. To load the correct data from OpenStreetMap afterwards, the data should be entered into the fields at OpenStreetMap.
10. Starting the application 10.1. Start the application • Go to the directory where the Maplap3d-app is installed • Open the folder application • Double click on “Maplab3d.exe” and the software will start, This may take a little while Please always bear in mind that the information in MapLab3D expects a decimal point and not a comma.
10.2. Brief summary of the nessecary steps
To provide an overview, the sequence in which the steps must be carried out is shown below.
1. Start the application (done 10.1 Start the application)
2. Load a Project Parameter file - a window with a green background appears
3. Select a project directory
4. Load OSM data (8.1 Open Street Map, Geofabrik)
5. Select the evaluation data directory (8.2 Elevation data need to be downloaded
6. Create a map 2D or 3D (10.3 Preview window for 2D and 3D map)
7. Print test pieces for fonts
8. Create STL files for the printer (10.4 Create the STL files)
10.3. Project parameter summary file During the steps the program generates files in the project directory. The most interesting file could be the file ..create map log.txt. here is a summary of the parameters of every object used in the parameter file in a more readable form.
10.4. Project Parameter The first step is always loading a parameter file. Menu File – Load project parameters Steps for a new project: Create a file with an OSM Data set. See chapter 8.1 Open Street Map, Geofabrik Create a file with the evaluation data. See chapter 8.2 Elevation data need to be downloaded
10.5. Extract from a larger OSM file
Extracting data from larger files, e.g. the data of a city from the data of Germany. This is done in two steps
First select data from the bigger file. The settings are as follows.
The menu closes and must be called up again to select the other setting
Menu Extra - Call Osmosis settings
Source file extension .pbt,
Destination file extension .pbt
Do not reduce the data
Select these as shown in Picture 12 Osmosis Settings .
Picture 13 Osmosis Settings
Now start the Osmosis programme via Extras - Call Osmosis. You will now be asked for the source file and then for the target file. The name in line 7 of the ‘project_parameter.xlsx’ table is suggested, for example TP (as test project).
The data is selected based on the values in the ‘project_parameter.xlsx’ table (general.bounding_box.lonmin_degree, general.bounding_box.lonmax_degree, general.bounding_box.latmin_degree, general.bounding_box.latmax_degree). Line?
Two new files are created. TP.pbf and TP.pbf.txt. The text file is only a check that the data has been used correctly. The pbf file contains all the necessary data for the map.
Second step: the TP.pbf file must be converted into an OSM file. To do this, the settings are changed under Extras - Osmosis Settings by changing the corresponding checkbox.
The menu closes and must be called up again to select the other settings
Source file extension to .osm.
destination file extension to .osm.
Do not reduce the map size.
The Osmosis programme is then called up again Extras - Call Osmosis. You will be asked for the source file (TP.pbf) and the output directory. Two new files are created. TP.osm and TP.osm.txt. The txt file is the control file to check whether everything is correct.
The next step is to load the data in order to be able to display it. File - Load OSM- and evlevation data. The program asks for the OSM file and the directory in which the SRTM files can be found. All files are read from this directory. Therefore, only the necessary files should be saved here. Otherwise processing will take considerably longer.
In the next step, the map is created with File - Create Map. All objects are loaded first and then the data is reduced.
Diese Schritte werden im folgenden genauer beschrieben. 10.6. Preview window for 2D and 3D map
• Map can be edited • Map can be saved as an image • Further settings for preview can be selected • Separately printed objects are shown • 10.7. Create the STL files The user interface of Maplab3D will occur
• Select File in the Menubar • Select Load project parameters o A window will be opened where you need to select the PP_testproject.xlsx from the Maplab3D_V0.0.7-directory o After you selected, a second window will be opened where you ne to select the Projectfolder • Select Load OSM- and elevation-data o A window will be opened where you need to select the OSM data from the OSM-file of the Maplab3D_V0.0.7-directory o After you selected, a second window will be opened where you need to select the SRTM-folder where the elevation data is saved • A preview window will open, where you can see the tile and printout data • Now click on Create Map • A preview window with the 2D map will opened after a time • Click on Simplify Map o A window will open like the picture below
o Click on Continue • The current project needs to be saved by clicking on Save project • After the project is saved, click on Create STL Files o It will take some time and the o The preview windows of the 3D map and separate printing parts will open • Now you can find the STL files in the Projectfolder of the Maplab3D_V0.0.7-directory 10.8. Printout The STL files can now be used for our 3D printer. An example is shown in the pictures below. Place the parts together by the help of the screenshots you took from the Openstreetmap site.
Separate printed parts above.
The 3D relief model above. 11. Options 12. Important Links All important links for the work with MapLab3D are listed here. You will also find further information on the individual data sources used
Download OSM-data https://www.openstreetmap.org https://download.geofabrik.de/europe/germany.html https://download.geofabrik.de/europe.html
Download SRTM-data https://earthexplorer.usgs.gov/
OSM wiki https://wiki.openstreetmap.org/wiki/Map_features https://wiki.openstreetmap.org/wiki/Tag:boundary%3Dadministrative https://wiki.openstreetmap.org/wiki/Highway:International_equivalence https://wiki.openstreetmap.org/wiki/Node https://wiki.openstreetmap.org/wiki/Way https://wiki.openstreetmap.org/wiki/Area https://wiki.openstreetmap.org/wiki/Relation https://wiki.openstreetmap.org/wiki/Types_of_relation https://wiki.openstreetmap.org/wiki/SymbolsTab https://wiki.openstreetmap.org/wiki/LinesTab https://wiki.openstreetmap.org/wiki/AreasTab https://wiki.openstreetmap.org/wiki/DE:3D https://wiki.openstreetmap.org/wiki/DE:OpenStreetMap_benutzen#Webanwendungen https://wiki.openstreetmap.org/wiki/Standard_tile_layer o The Standard tile layer is the default tile layer on the OpenStreetMap homepage Copyright https://www.openstreetmap.org/copyright https://wiki.osmfoundation.org/wiki/Licence/Attribution_Guidelines
Tools https://wiki.openstreetmap.org/wiki/Osmfilter https://wiki.openstreetmap.org/wiki/Osmosis
Other: https://www.opentopodata.org/ https://wiki.openstreetmap.org/wiki/Mapnik o Mapnik is an open-source toolkit for rendering maps https://github.com/mapnik/mapnik/wiki/Mapnik-Installation o Mapnik Installation https://wiki.openstreetmap.org/wiki/Osmconvert https://www.d-copernicus.de/daten/datenzugang/
13. Deal with occurred errors Possible Error What am I to do now? Status bar does not move forward Close and restart the application
Print out data is larger than one tile Reduce value of scale in project parameters
Index
Folder structure 5 Project Folder 5 SRTM 5 Symbols 5 Notes in the text 2 Software Modifications 4