MapLab3D HD big
← MapLab3D
Map of Heidelberg
Introduction:
Allocate time
Basic functions are familiarized with when reproducing this sample.
This guide uses an example to explain how a simple map can be created with MapLab3D and the default settings. The example was created with version 1.0.0. The result may look different with a different version and different default settings.
For an even quicker start, you can download the OpenStreetMap (OSM) data and the elevation data here and then skip the corresponding steps.
Preparation
As preparation, the programs MapLab3D and Osmosis must be installed. To do this, follow the instructions given in MapLab3D and Osmosis.
Prepare project parameter data set
Create a project directory (for example: ...\MapLab3D\Heidelberg\), copy the project parameter file (here: MapLab3D_ProjectParameters_1_0_x.xlsx) into this directory and open it. This ensures that all changes to the project parameters are saved together with the project's save states.
Next, the data set to be used is selected in the project parameter file. DATASET_1 serves as a template and should not be changed, so the prepared DATASET_2 column is used and the content is replaced.
A | B | C | D | E | F | … | … | Q | … | … | T | … | X |
10 | Project | N | 1 | 1 | Project name | S | Heidelberg | Name of the project (in detail) |
11 | Project | N | 1 | 1 | Filename | S | HD | Part of the file names that shows the project name (in short) |
For a better overview, columns that are not required are hidden here.
A | B | C | D | E | F | … | Q | … | … | … | T | … | X |
15 | general | N | 1 | 1 | Project name | S | Heidelberg | Name of the project (in detail) |
The file name should also appear in the DATASET_2 column for documentation purposes:
A | B | C | D | E | F | G | H | I | J | … | T | … | X |
19 | general | N | 1 | 1 | comments | N | 1 | 1 | filename | S | HD | Comments: part of the file name that shows the project name (in short) |
Now check the following default settings because they influence the number of tiles required, which will be defined in the next steps:
A | B | C | D | E | F | G | H | I | J | … | T | W | X |
47 | Maximum object size: Example: Many 3D printers have an installation space of at least 210x190mm. If the space required for a skirt of at least 3mm is subtracted, a maximum object size of 204x184mm remains. |
48 | 204 | mm | Maximum object size in x direction |
49 | 184 | mm | Maximum object size in y direction |
50 | Tile size:
A large map can be made up of many rectangular tiles. The tile size should be selected smaller than the maximum object size so that the objects can overlap the tile edges (e.g. if a road runs along a tile edge). The tile size at the edge of the map is additionally reduced automatically by the width of the frame so that the frame also fits into the printer's installation space. |
51 | general | N | 1 | 1 | tile_width_ present | N | 190 | mm | Tile size in x direction |
52 | general | N | 1 | 1 | tile_depth_ preset | N | 170 | mm | Tile size in y direction |
53 | TFrame size:
The frame parts are glued to the map from the side and from below, so the frame height also includes the thickness of a base plate. The frame height should be corrected again at the end depending on the height of the terrain at the edge of the map. If no base plate is required because there is only one tile, the thickness of the base plate can be set to zero. |
54 | frame | N | 1 | 1 | b2 | N | 20 | mm | Outer frame height |
55 | 25 | mm | Total frame height |
56 | 12 | mm | Thickness of the base plate to which the tiles are glued |
Save the changes in the Excel-sheet (parameter file)
Prepare the OSM-Data
Select Area
Open the web site OSM OpenStreetMap. Zoom into the desired area and select Export. With “Manually select a different area”, the boundaries of the area are displayed on the map.
For small areas, the data can be downloaded directly with “Export” and the preparation of the OSM data would be complete. This is not possible in this example.
Note: If the map is large or is intended to represent a large area such as an entire country, the execution time of certain functions can be very long. In this case, the settings should first be tested on one or more small sections of the area.
Set the scale and size of the map
Start the MapLab3D program. Load the project parameters (“Menu: File - Load project parameters”). The project directory must also be selected now.
Switch to the lon.lat x-y tab.
- Enter the maximum and minimum longitude (lon) and latitude (lat) in the “Osm data” area.
- Copy the longitude and latitude of the bounding box center to the top in the “General data” area. This is necessary in order to be able to clearly calculate the lat,lon values when changing x,y values.
- The “Osm data” area contains the total size of the map in mm (printout size) and the number of tiles required. The desired map size is now set using the scale. In this example, the scale number 35000 is selected so that the map consists of two adjacent tiles.
- The size of the map can now be set even more precisely: The maximum tile depth here is 170mm, the frame width 20mm. This results in a maximum depth of the map (printout size) of 170mm-2*20mm=130mm. In the “Map printout limits” area, the rounded values ymin=-65mm and ymax=65mm are now entered accordingly, thus making maximum use of the available tile depth. Rounded values are also entered for xmin and xmax.
The result of the previous steps looks like this (marked in red). The numbers correspond to the figures in the previous section
The section of OSM data to be loaded should be larger than the size of the map (printout size):
- to recognize incomplete objects at the edge of the map and
- for later corrections of the map section: The printout limits can also be changed later, but only within the area of the loaded OSM data.
With “Distance between OSM-data and map printout limits / mm”, the range of the OSM data can be extended. The following applies: If the values under “General data” are changed, the black-framed values are retained.
Next picture:
Here, the range of the OSM data is extended by 40mm (marked in red in the next image). You can see: The longitude and latitude values under “Map printout limits” have changed, the x,y values have remained the same.
Now enter the values highlighted in blue in the next image into the project parameter file. The current line numbers are displayed in the next picture; project parameter file line 35-38.
It is necessary to specify the scale:
A | B | C | D | E | F | … | … | Q | … | … | T | … | X |
12 | Project | N | 1 | 1 | Scale | N | 35000 | Scale |
Enter the scale here for documentation purposes
A | B | C | D | E | F | G | H | I | J | … | T | … | X |
20 | Project | N | 1 | 1 | Comment | N | 1 | 1 | Scale | S | 35000 | Comments: scale |
transfer the data under “General Data” lines 40 and 41 to the Excel table. This data corresponds to the longitude and latitude at x=0 and y=0 in the x,y plane.
A | B | C | D | E | F | … | … | … | … | … | T | W | X |
40 | general | N | 1 | 1 | origin_user_lon | N | 8.70362 | degree | Origin longitude |
41 | general | N | 1 | 1 | origin_user_lat | N | 49.41222 | degree | Origin latitude |
The specification of “Distance between OSM-data and map printout limits / mm” in the Excel folder is optional. This means that the corresponding value is only re-entered in the edit box in the “lon,lat - x,y” tab when the project parameters are reloaded:
A | B | C | D | E | F | … | … | … | … | … | T | W | X |
266 | general | N | 1 | 1 | dist_osm_ printout | N | 40 | mm | Distance between OSM-data and map printout limits |
Replace the values in the “OSM data bounding box” area with the values from “Map printout limits” on the lon.lat x-y tab. The data is then also entered in the corresponding lines in the Excel table (lines 35-38).
A | B | C | D | E | F | G | H | I | J | … | T | W | X |
35 | general | N | 1 | 1 | bounding_box | N | 1 | 1 | lonmin_degree | N | 8.62857 | degree | Longitude of the left edge of the bounding box |
36 | general | N | 1 | 1 | bounding_box | N | 1 | 1 | lonmax_degree | N | 8.77867 | degree | Longitude of the right edge of the bounding box |
37 | general | N | 1 | 1 | bounding_box | N | 1 | 1 | latmin_degree | N | 49.37914 | degree | Latitude of the bottom edge of the bounding box |
38 | general | N | 1 | 1 | bounding_box | N | 1 | 1 | latmax_degree | N | 49.44528 | degree | Latitude of the top edge of the bounding box |
By specifying the "map printout limits" in mm, the map section within the loaded OSM data is defined:
A | B | C | D | E | F | G | H | I | J | … | T | W | X |
43 | general | N | 1 | 1 | map_printout | N | 1 | 1 | xmin_mm | N | -115 | mm | Map printout limits: xmin |
44 | general | N | 1 | 1 | map_printout | N | 1 | 1 | xmax_mm | N | 115 | mm | Map printout limits: xmax |
45 | general | N | 1 | 1 | map_printout | N | 1 | 1 | ymin_mm | N | -65 | mm | Map printout limits: ymin |
46 | general | N | 1 | 1 | map_printout | N | 1 | 1 | ymax_mm | N | 65 | mm | Map printout limits: ymax |
Save the parameter file, save the project !
Create OSM dataset
Reload the project parameters (“Menu: File - Reload project parameters”).
As the data cannot be downloaded directly from OpenStreetMap, a small detour must be taken. The data is extracted from a larger data set. The page Geofabrik is used for this. Here, the smallest area must be selected that completely contains the desired map section. In this example, this is Regierungsbezirk Karlsruhe.
Download the data set with the extension .pbf (in this example karlsruhe-regbez-latest.osm.pbf) and save it in the working directory under ...\MapLab3D\OSM.
The selected area of Heidelberg is relatively small, so the OSM XML file (extension .osm) can be created without reducing the data. Activate the following settings under "Extra - Create Osmosis call settings" by clicking on them:
Note: The OpenStreetMap files are in XML format (but the extension is .osm). This format is uncompressed and can lead to large files. In the event of error messages when exporting from the OpenStreetMap site, a data set of the desired area should therefore first be created in PBF format. In the second step, this file is then converted into the OSM XML format, whereby "Do not reduce the map size" and "Extract all include tags" should be activated.
Now execute the function “Extra - Create Osmosis call”.
- Source file: Select the downloaded OSM dataset (here: karlsruhe-regbez-latest.osm.pbf).
- Destination file: Select a storage location and a file name (here: Heidelberg.osm).
- Bounding box: The values were taken from the project parameter file and do not need to be changed.
- You may be asked to select the location of the Osmosis installation (“Enter .../osmosis/bin path”). This step will be omitted next time.
- Open the command prompt with “Yes” when asked. Enter the command to call Osmosis with “Ctrl+V” and confirm with “Enter”. Depending on the size of the source file, execution may take a while.
Once Osmosis has been completed, the time required is displayed (here only about 1 minute):
Note: For documentation purposes, a text file with the same name as the target file (here “Heidelberg.osm.txt”) is created, which contains the settings of the Osmosis command and the command itself.
The prompt can now be closed. Now enter the file name of the OSM dataset you have just created in the project parameter file for documentation purposes:
A | B | C | D | E | F | G | H | I | J | … | T | … | X |
21 | general | N | 1 | 1 | comments | N | 1 | 1 | osm_ filename | S | Heidelberg.osm | Comments: OSM-filename |
Note: This procedure creates an OSM dataset of an area that is only slightly larger than the required map section. It is also possible to load a sufficiently large OSM dataset into MapLab3D without these individual steps and, if necessary, to define the printout limits graphically afterwards. However, the OSM dataset should not cover an unnecessarily large area, otherwise the execution times in all subsequent steps will be longer.
Save tehe parameter file, save the project !
Prepare elevation data
The elevation data for the required area is now downloaded.
Open the page EarthExplorer. It is necessary to create an account and log in.
Select the desired area in the “Search Criteria” tab. There are various ways to do this, for example:
- Zoom in on the area in the map and press “Use Map”. The corners of the polygon can be moved with the mouse.
- Select “Decimal” and “Add Coordinate”. Then enter 4 points with the coordinates of the OSM data bounding box from before in the correct order (clockwise or counterclockwise). The result must be a rectangle:
Switch to the next tab “Data Sets”. In the tree, select “Digital Elevation”, then SRTM, then activate the “SRTM 1 _Arc-Second Global” checkbox.
The data records for the selected area are displayed in the “Results” tab and can be downloaded individually. A data set covers an entire longitude and latitude, so in this example this is only a single file: Click on the icon with the small green arrow pointing downwards (3rd icon from the right) to access the download options. Select GeoTiff 1 Arc-second here. The size of the file is also specified.
Save all data sets required for this map in a separate directory, for example ...\MapLab3D\Elevation\Heidelberg_GeoTIFF. This directory may only contain the elevation data.
Note: If the OSM data bounding box is close to the boundary between two elevation datasets, the neighboring dataset should also be downloaded because a larger area is required when smoothing elevation data.
Optionally, the elevation data can now be converted to mat format. Any missing elevation points are repaired, the file is smaller and loading the elevation data in MapLab3D is faster:
- Run the “Extra - Convert georaster data” function in MapLab3D.
- Select the source directory, here: ...\MapLab3D\Elevation\Heidelberg_GeoTIFF.
- Select the target directory. Create a separate folder for this, here: ...\MapLab3D\Elevation\Heidelberg_mat.
Set superelevation
The superelevation is the enlargement of the height scale compared to the length scale. Depending on the scale, a possible value for the superelevation is already suggested, which is based on commercially available relief maps. For a relatively flat area, the superelevation could be increased to emphasize differences in terrain height. For a relief model of a high mountain landscape, the superelevation may need to be reduced. The optimum value of the superelevation therefore also depends on the area depicted and should be checked and adjusted if necessary.
In this example, for the superelevation the default value is 2.
A | B | C | D | E | F | … | Q | … | … | … | T | … | X |
33 | general | N | 1 | 1 | Superelevation | N | 2 | Vertical superelevation: Enlargement of the height compared to the length |
Save tehe parameter file, save the project !
Read in the project parameters again (“Menu: File - Reload project parameters”).
Select the following settings under File - Load OSM- and elevation-data settings.
Then execute "Menu: File - Load OSM- and elevation-data" (this is much faster without loading all OSM data).
A preview of the terrain is created with “View - Create 3D map preview”. This procedure is now repeated with different superelevation values. The results are shown below. The subsequent printout (printout limits) is the area outlined in blue.
In this example, it is decided to reduce the superelevation to 1.5.
A | B | C | D | E | F | … | Q | … | … | … | T | … | X |
33 | general | N | 1 | 1 | Superelevation | N | 1.5 | Vertical superelevation: Enlargement of the height compared to the length |
Save the change in the parameter file!
Set "Menu: File - Load OSM- and elevation-data settings" back to the default setting (next picture).
Save the project !
Create 2D map
In this step, a 2D view of the map is created, which serves as an editing area for the map objects. First, the remaining important project parameters are checked. These are the country-specific settings.
A | B | C | D | E | F | G | … | … | … | … | T | … | X |
58 | general | N | 1 | 1 | decimal separator | S | . | Decimal separator symbol for export/import of numbers (usually "." or ","). |
59 | a4 | Paper type for pdf or jpg export (a4, a3, a2, usletter, uslegal, ...) |
60 | """name"" keys to filter by:
1) To display texts such as the name of a country, all tags (key=value) of this OSM object are searched for the keys entered here and the corresponding value is displayed as text. The list indicates the search sequence. For example, if “name:de” appears before “name”, the German name will be displayed as text (if the tag “name:de=...” exists). For other possible keys that can be searched for, see: “https://wiki.openstreetmap.org/wiki/Key:name”. 2) This list is also used to connect only OSM objects with the same name to a map object using the “Filter by key” function. In this way, for example, rivers are not displayed as a single connected water network, but rivers can be selected individually by name." |
61 | short_name | short_name |
62 | name.de | name.de |
63 | name | name |
64 | all_name | all_name |
65 |
Also consider whether and where a legend should be displayed (here: top left corner). Adjust the title of the legend (here: “HEIDELBERG”).
A | B | C | D | E | F | G | … | … | … | … | T | … | X |
67 | northwest | Legend location:
- none: no legend - north: Inside top of axes" - south: Inside bottom of axes - east: Inside right of axes - west: Inside left of axes - northeast: Inside top-right of axes (default for 2-D axes) - northwest: Inside top-left of axes - southeast: Inside bottom-right of axes - southwest: Inside bottom-left of axes The language of the legend is English. The legend texts may need to be translated or adapted (parameter legend.element(r,c).text)." |
68 | Heidelberg | Legend title (for example, the name of the city or country). |
Note
- You may also want to customize the language of the legend: This requires editing the values under legend.element.text in the “Expert settings” below.
- The parameters of the legend can also be changed later. In this case, only the legend needs to be recreated, not the entire 2D map. Because the size of the legend can change, this must be done before the step "Menu: File - Map editing - Simplify map".
You may also need to check the other optional settings. In this example, the narrow-gauge railroads are switched on to display the mountain railroad to the Königstuhl: (you find the description of the parameter in column X)
A | B | C | D | E | F | G | … | … | … | … | T | … | X |
97 | 1 | Show tramways and narrow-gauge railways. |
A | B | C | D | E | F | G | … | … | … | … | T | … | X |
105 | 1 | Show tram and narrow-gauge station symbols. |
Save the changes and reload the project parameters ("Menu: File - Reload project parameters").
Note: After each loading of the project parameters, a text file with a summary is saved in the project directory (here: ...\MapLab3D\Heidelberg\HD - projpar summary.txt). The content of the text file can be copied into the "projpar summary" worksheet of the project parameter file to make it easier to read.
Execute "Menu: File - Load OSM- and elevation-data". When prompted, select the previously created OSM dataset (here ...\MapLab3D\OSM\Heidelberg.osm) and the directory with the elevation data (here ...\MapLab3D\Elevation\Heidelberg_mat) (duration in this example: 47 s). Execute "Menu: File - Create map". This creates the 3D map in the “Map” window (duration in this example: 16:03 min).
A warning appears when this function is completed:
The data of the specified object numbers 10 and 25 should be printed as areas, but some of them consist of open lines whose start and end points are not identical. There are the following possible causes for this:
- The logical combination of include tags in the project parameters (obj.(ObjNo,1).tag_incl) selects OSM data for display as areas that are actually lines. The include tags should be revised here. Alternatively, the open lines can simply be deleted.
- The tags of the OSM data are incorrect or do not correspond to the usual conventions (for example, if a tag “area=no” is missing). Here too, the open lines can simply be deleted.
- The open lines are located at the edge of the map and are therefore incomplete. This happens because the map section extracted with Osmosis only contains complete “ways”, but not complete ‘relations’ (next to “nodes” the types of OSM data). This can be remedied with the procedure described in one of the following sections.
Save the parameter file, save the project !
Editing the 2D Map
General basics
The Edit map tab must be activated in the app.
This section contains a brief description of the basic knowledge required for the next steps. Try it out on the 2D map you just created.
If the 2D map is changed while you are trying it out, that's no problem: After executing “Menu: File - Create map,” the project is automatically saved in the project directory. Then simply reload the project: “Menu: File - Load project,” in this example, select the file “...\MapLab3D\Heidelberg\HD - after create map - v1.0.0 - MAP.fig.”
With “Menu: View - Show Tooltips,” you can show and hide tooltips for all components of the app. The help text appears when the mouse pointer is over the component.
Selecting map objects
Selecting a map object:
- Left-click on the map object
- Left-click on a cell in the table of map objects
Selecting multiple map objects
- Click on the map objects one after the other with the middle mouse button. This method can also be used to deselect the objects.
- In the table:
- Left-click and drag with the mouse
- Selecting an area: Left-click on a cell, Shift+left-click on another cell
- Selecting individual cells: Ctrl+left-click on several cells one after the other
- With the “Tab: Edit map - Basic - Select” button, objects can be selected using criteria, for example, all objects with object number 0 (the legend). This allows you to hide or delete the legend, for example.
- The event display shows the number and PlotNo (row number in the table of map objects) of the selected objects.
Deselect all
- Click on an empty space on the map.
- Button “Tab: Edit map - Basic - Deselect all”.
Map objects must be selected in order to apply functions such as Move or Rotate:
- Some functions also work with multiple selected map objects (for example, “Move”).
- For other functions, only one map object may be selected (for example, “Move vertex”).
- For some functions, exactly two map objects must be specified (e.g., “1 Subtract 2”). This is done by entering the plot numbers PlotNo 1 and PlotNo 2 in the corresponding edit boxes. It is also possible to enter the numbers by left-clicking (1) and clicking with the middle mouse button (2) in the edit boxes.
A context menu with additional information can be displayed for each map object:
- Left-clicking on a map object generates a context menu.
- Right-clicking on the same spot displays the context menu. The content of the context menu depends on the object type:
- x, y, z: Coordinates at the clicked location. The original height in m is also displayed. If “z=?”, the clicked point is outside the range of the height data.
- PlotNo: Plot number: Index in the table of map objects.
- ObjNo: Object number: Index in the project parameter file (“Expert settings”): Elements obj(ObjNo,1). ... .
- Text/Tag: This is used to identify the map object:
- For texts: the displayed text
- For symbols: the values of the keys entered in the project parameter file under obj(ObjNo,1).symbolpar.key_for_display (“Expert settings”).
- For lines or areas: a tag if map objects are plotted filtered by specific tags. This is set in the project parameter file for rivers or highways, for example, so that these objects can be marked individually.
- DispAs: The type of map object.
- Character style No.: Only for text: Font number: Index in the project parameter file (“Expert settings”): Elements charstyle(ChStNo,1). ... .
- Symbol No.: Only for symbols: Symbol number. A preview of the symbols can be found in the directory ...\MapLab3D\Symbols\Preview.
- ColNo: Color number: Index in the project parameter file (“Expert settings”): Elements color(ColNo,1). ... .
- Prio: Object priority: The map object with the highest priority is fully visible, while map objects below it are hidden or cut off. Texts and symbols should have the highest priority and should not overlap.
- dz: Elevation or lowering of the surface of the map object relative to the terrain height.
- surftype: Surface type. Possible values are:
- 0: The surface height follows the terrain, increased by dz.
- 1: Flat surface: The regions of the surface can have different heights.
- 2: Flat surface: All regions of the surface have the same height.
- Rotation: Angle of rotation, only if a rotation has been performed.
- Relation ID: Only if the entire map object is part of a relation.
- Bounding box limits: Minimum and maximum x, y, z values.
- Region number and dimensions: The region with the maximum height dz is temporarily highlighted in color. This can be a criterion for cutting the map object into parts.
- Show/Gray out/Hide: This can be used to change the visibility as an alternative to the buttons under “Visibility.”
- Change text: Only for text: Change the text.
- Change character style: Only for text: Change the font.
- Minimum line width: Only for lines with variable line width: Line width at the beginning of the line. The beginning of the line is temporarily highlighted in color.
- Maximum line width: Only for lines with variable line width: Line width at the end of the line. The end of the line is temporarily highlighted in color.
- Change line width: Only for lines with variable line width: Change the line width.
- Color number: Change the color, as an alternative to the buttons under “Color”:
Explanation of important buttons
Here is a general overview of frequently used functions.
Tab: Edit map
Map View: Changing the map section: right side of the tab.
- In: After activation (button turns green), you can zoom in on an area of the map by left-clicking and dragging with the mouse.
- Out: Zooms out: enlarges the displayed boundaries by a factor of 3
- Fit: All tile boundaries and OSM data boundaries are displayed in full.
- Sel: Zooms in on the selected objects.
- You can also move the map section and undo changes to the view.
Visibility: Change the visibility of map objects.
- Show: The map object is visible and will be printed.
- Gray out: The map object is visible but grayed out and will not be printed.
- Hide: The map object is invisible and will not be printed.
- Delete: Permanently deletes the map object.
Tab: Edit map - Basic
This tab contains basic functions for editing the 2D map. Examples:
Color
- Color reset: The map object is assigned the color number defined in the project parameters.
- Transparent: The map object is printed in the color of the underlying object and is only visible when the surface is raised or lowered. This is the preferred setting for buildings, for example.
Temporary visibility
- Hide temporarily: Map objects can be temporarily hidden to reduce complexity or to make an underlying object visible or clickable.
- Restore all: All temporarily hidden map objects are displayed again. Map objects hidden with the “Hide” function remain invisible.
Reorder / PlotNo
- This allows you to change the order of the map objects. This affects the position in the table of map objects (PlotNo) and is equivalent to the order of the plot objects in the 2D map. For example, if a map object cannot be clicked, the object above it can be moved to the top of the table using “Back / First”. The PlotNo has no influence on the subsequent printout; this is determined by the priority of the map objects.
Tab: Edit map - Advanced
- Create and modify preview lines using the mouse, by entering data, or by loading a file containing data. A description must be entered before creating preview lines.
- Modify polygons. A polygon is a geometric figure with closed lines as its border. Polygons can also have holes (inner edges or boundaries) and can also consist of several adjacent polygons (regions). Map objects are always polygons.
- Convert preview lines to preview polygons and vice versa.
- Conversion of preview polygons into map objects and vice versa.
- Conversion of the map section (printout limits) into a preview polygon and vice versa.
- Creation of “cutting lines”: This allows map objects to be cut into several parts.
Incomplete areas after creating the 2D map
Before you can start editing the 2D map, you need to close or delete any incomplete areas in the form of open lines. These lines are shown here as bright red lines with DispAs="area - not closed" and are also called “preview lines.”
Fixing incomplete areas
In this example, there are one open line. First, all open lines that are incomplete - due to missing data (for example, because they are located at the edge of the map) - are edited. This applies to the incomplete water area with object number 25 (Expanse of Water). Although this area is located behind the legend, it is used here to demonstrate how such incomplete areas can be repaired:
In this section, components in the “Edit map - Advanced” tab are used.
Select the open line and press The button “Close” (in the middle under Lines (L)). This attaches the starting point to the end of the line and the line appears closed:
Note: If the connection between the start and end points intersects the remaining line when you click “Close,” an error message will be displayed. In this case, you must use “Move vertex” or “Delete vertices” to change the start or end point so that a direct connection with “Close” is possible.
Select the closed line and press “To poly” to turn the preview line into a preview polygon. The area inside the line is now highlighted in color:
Select the preview polygon and any other preview polygons with the same object number (here: 25). The object number is automatically entered in the “Preview to map object” area under “Map object number.” Activate the ‘Merge’ checkbox below, then press “Preview to map object,” confirm the execution, and wait for the result (here: 6:58 min).
With the “Merge” checkbox activated, the preview polygon is added to the plot data and all map objects with object number 25 are recreated. This is why the open line is still there afterwards:
The now superfluous preview line can be hidden (“Hide”) or deleted (“Delete”):
The “Merge” checkbox is usually only needed to close open lines at the beginning and should now be deactivated again.
Now save the project with “Menu: File - Save project”.
Note: Older save files are numbered consecutively in the project directory, with the smaller number always being the newer version. You should get into the habit of saving often, because there is no undo function! In an emergency, the last saved version can be loaded with “Menu: File - Reload project”.
Advanced Editing the 2D map
This is the result of the previous steps:
For this screenshot, the legend of the 2D map was temporarily activated using “Menu: View - Show map figure legend (off: faster)”.
The following is a description of the actual editing of the map layout. The order of the editing steps is irrelevant until “Menu: File - Map editing - Simplify map” is executed.
Subsequent modification of project parameters
Some project parameters that affect the appearance of the map can still be changed after the 2D map has been created. These are:
- Superelevation
- For map objects:
- Object priority.
- Color number
- Raising or lowering the surface of the map object relative to the terrain height.
- Surface type:
- 0: The surface height follows the terrain, increased by dz.
- 1: Flat surface: The regions of the surface can have different heights.
- 2: Flat surface: All regions of the surface have the same height.
- Font number for texts.
This will be demonstrated as follows: Color number 1 (previously “Fillamentum PLA Extrafill, Electric Grey”) will be replaced by a green filament (copied from the file MapLab3D_ProjectParameters_colors_database.xlsx):
A | B | C | D | E | F | G | H | … | … | … | T | … | X |
791 | color | N | 1 | 1 | rgb | N | 1 | 1 | 131 | Print color: intensity of the red component |
792 | color | N | 1 | 1 | rgb | N | 1 | 2 | 201 | Print color: intensity of the green component |
793 | color | N | 1 | 3 | rgb | N | 1 | 1 | 53 | Print color: intensity of the blue component |
794 | color | N | 1 | 1 | Color_ short_ text | S | Green | Brief description of the color |
795 | color | N | 1 | 1 | color_ property | S | Special characteristics of the color |
796 | color | N | 1 | 1 | color_ identifi- cation | S | Explicit identification of the color |
797 | color | N | 1 | 1 | material | S | PLA | Material |
798 | color | N | 1 | 1 | brand | S | Verbatim | Brand Name |
799 | color | N | 1 | 1 | manufac- turer | S | Brand Name |
800 | color | N | 1 | 1 | weblink | S | shop | Website URL |
After saving and reloading the project parameters, the 2D map looks like this:
Note: The RGB values in the project parameters are used later to generate a realistic preview of the printout if the map is printed with the specified filaments. The color of the printout naturally depends on which filament is ultimately used.
Changing the map section
There are basically two ways to change the map section retrospectively. However, this is only possible within the limits of the loaded OSM data.
1st method: Graphical modification of printout limits:
- Press the button “Tab: Edit map - Advanced - Printout limits: To preview”. The resulting preview polygon can now be edited, for example scaled.
- The “Tab: Edit map - Advanced - Printout limits: Set” button resets the map section based on the selected preview polygon.
- This method also allows you to define the area of a country, for example, as a map section. The shape of the frame is then adjusted to the map section.
- With “Tab: Edit map - Advanced - Printout limits: Reset,” the map section is reset based on the project parameters.
2nd method: Changing the project parameters: This method is now demonstrated: To increase the width of the map, the printout limits xmin and xmax are increased from 115 mm to 125 mm:
A | B | C | D | E | F | G | H | I | J | … | T | W | X |
43 | general | N | 1 | 1 | map_printout | N | 1 | 1 | xmin_mm | N | -125 | mm | Map printout limits: xmin |
44 | general | N | 1 | 1 | map_printout | N | 1 | 1 | xmax_mm | N | 125 | mm | Map printout limits: xmax |
45 | general | N | 1 | 1 | map_printout | N | 1 | 1 | ymin_mm | N | -65 | mm | Map printout limits: ymin |
46 | general | N | 1 | 1 | map_printout | N | 1 | 1 | ymax_mm | N | 65 | mm | Map printout limits: ymax |
After saving and loading the project parameters, use the “Tab: Edit map - Advanced - Printout limits: Reset” button to reset the map section based on the changed project parameters.
After changing the map section, the legend must be repositioned. To do this, activate the “Recreate the legend” checkbox in “Menu: File - Create map settings” and then execute “Menu: File - Create map”. The result looks like this:
Note: If the map section is not rectangular but has a free form, the following restrictions are currently known:
- A tile must not consist of two separate parts.
- If the map contains a hole, an inner frame is also created. However, the inner frame must not lie on a tile boundary, otherwise the STL file of the inner frame will be incorrect.
Add map objects
This is the right moment to check whether the map contains all the desired map objects. If something is missing, there are basically the following options:
The easiest option is:
- Switch on predefined objects in the project file under “Optional: Turn the display of objects on and off:”. Then save the project parameters, load them, activate the checkbox “Recreate certain objects, keep the rest” in the “Menu: File - Create map settings” and then execute “Menu: File - Create map”. At the beginning, the object numbers of the new map objects must be entered.
The following options require editing the “Expert settings”:
- Define new object number: There are currently 120 different objects, and the object numbers are sorted according to object priority (not mandatory, but clearer). New objects can be added, preferably by copying the lines of an existing matching object and editing the parameters. By updating the references in the third column, the object numbers of the objects below must be increased by one. Because this changes the object numbers of existing map objects, the 2D map must be completely recreated.
- For existing object numbers, edit the include tags (obj.(ObjNo,1).tag_incl) or exclude tags (obj.(ObjNo,1).tag_excl), then only recreate the map objects with the corresponding object number (as described above).
The editing of the include and exclude tags is now demonstrated using an example:
The funicular railway to Königstuhl is not shown in full here; the “Kornmarkt” station is missing. See the OSM map for comparison:
The reason for this is that tunnels are not displayed as lines at the current scale. This is achieved by entering the key “tunnel” with the value “yes” in the exclude tags of object 60 (narrow-gauge railway) (the lines in between are hidden here):
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | … | T | … | X
|
6195 | obj | N | 60 | 1 | tag_excl | N | 1 | 2 | k | S | tunnel | - Exclude key |
6196 | obj | N | 60 | 1 | tag_excl | N | 1 | 2 | v | S | yes | - Exclude value |
6280 | Obj | N | 60 | 1 | textpar | N | 1 | 1 | tag_excl | N | 1 | 2 | k | S | tunnel | Text: - Exclude key |
6281 | Obj | N | 60 | 1 | text_par | N | 1 | 1 | tag_excl | N | 1 | 2 | v | S | yes | Text: - Exclude key |
6355 | Obj | N | 60 | 1 | symbolpar | N | 1 | 1 | tag_excl | N | 1 | 2 | k | S | tunnel | Text: - Exclude key |
6356 | Obj | N | 60 | 1 | symbolpar | N | 1 | 1 | tag_excl | N | 1 | 2 | v | S | yes | Text: - Exclude key |
Because the line is missing, the symbol for the “Kornmarkt” valley station is also not displayed. Stations are only displayed if the node (station) has a maximum real distance of 15 m from the line (track), see parameter obj(ObjNo,1).reduce_nodes.dmax2lines_m:
A | B | C | D | E | F | G | H | I | J | K | … | … | … | … | … | … | T | W | X
|
6205 | obj | N | 60 | 1 | reduce- nodes | N | 1 | 1 | dmax2lines_m | N | 15 | m | Nodes: Maximum real distance to lines with the same object number (deactiv: -1) |
Now delete the formulas entered in these 6 cells:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | … | T | … | X
|
6195 | obj | N | 60 | 1 | tag_excl | N | 1 | 2 | k | S | - Exclude key |
6196 | obj | N | 60 | 1 | tag_excl | N | 1 | 2 | v | S | - Exclude value |
6280 | Obj | N | 60 | 1 | textpar | N | 1 | 1 | tag_excl | N | 1 | 2 | k | S | Text: - Exclude key |
6281 | Obj | N | 60 | 1 | text_par | N | 1 | 1 | tag_excl | N | 1 | 2 | v | S | Text: - Exclude key |
6355 | Obj | N | 60 | 1 | symbolpar | N | 1 | 1 | tag_excl | N | 1 | 2 | k | S | Text: - Exclude key |
6356 | Obj | N | 60 | 1 | symbolpar | N | 1 | 1 | tag_excl | N | 1 | 2 | v | S | Text: - Exclude key |
In addition, only the funicular railway should be displayed, not the other narrow-gauge railways. This is achieved by editing the include tags. First, a tag must be found that clearly describes the funicular railway:
On the map at OpenStreetMap, activate the “Query features” button on the right-hand side of the window. Click on the mountain railway and select one of the “Relation Bergbahn Heidelberg” data sets:
The tag name=Bergbahn Heidelberg
clearly describes the funicular railway. Now enter this tag in an empty field of the include tags of object 60 (Narrow-Gauge Railway) in line 2 (heading R2, marked in red):
A | B | C | D | E | F | G | H | I | J | … | T | … | X |
6171 | obj | N | 1 | 1 | tag_incl | N | 2 | 2 | k | S | name | - Include key |
6172 | obj | N | 1 | 1 | tag_incl | N | 2 | 2 | v | S | Bergbahn Heidelberg | - Include key |
In object 84 (Narrow-Gauge Railway: Bridges), this tag is automatically adopted.
Note: The include and exclude tags are structured as a matrix. In general:
- The criteria of all columns in a row (headings C1 to C4) are linked with a logical OR.
- The criteria of all rows (headings R1 to R4) are linked with a logical AND.
This means that all narrow-gauge railways (all tags in row 1 of the include tags) that also have the tag name=Bergbahn Heidelberg
(row 2 of the include tags) are now displayed.
Save and load the project parameters. Because the include tags have changed, a warning will appear, but this can be ignored because no new objects have been added. In the “Menu: File - Create map settings” window, activate the “Recreate certain objects, keep the rest” checkbox and then execute “Menu: File - Create map”. When prompted, enter object number 60 (Narrow-Gauge Railway) and 84 (Narrow-Gauge Railway: Bridges) and wait for the execution to finish (here: 6:47 min).
The funicular railway is now shown in full, while all other narrow-gauge railways have been removed:
Seal holes
Closing holes is generally possible at any stage of processing, but in certain cases should be done either at this point or only at the end of processing. The procedure is described in the chapter of the same name at the end of processing.
Show or hide map objects
If there are duplicate map objects, too many map objects overlap, or the map appears cluttered overall, objects must be hidden.
In some cases, objects are also generated in grey and can be made visible. The names of cities, for example, are generated in two ways:
- Name of a city boundary (administrative boundary): This method is preferred because when the name is clicked, the underlying city boundary is displayed as a magenta line, which makes it easier to place the name correctly when moving it. In this example, the city boundary of Heidelberg is not within the map section, so the name Heidelberg does not appear as black text.
- Name of a node: The name displayed for the node ‘Heidelberg’ is greyed out here and could be made visible manually (using the ‘Show’ button). This should not be done here because the name is already in the legend:
In this example, the following changes are made:
Hide railway stations
Railway stations are currently selected using the tags railway=station
or railway=halt
(for small stations):
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | … | T | … | X
|
6248 | obj | N | 60 | 1 | textpar | N | 1 | 1 | tag_incl | N | 1 | 14 | k | S |
6249 | obj | N | 60 | 1 | textpar | N | 1 | 1 | tag_incl | N | 1 | 14 | v | S |
6250 | obj | N | 60 | 1 | textpar | N | 1 | 1 | tag_incl | N | 1 | 15 | k | S |
6251 | obj | N | 60 | 1 | textpar | N | 1 | 1 | tag_incl | N | 1 | 15 | k | S |
There are many nodes with the tag railway=halt
at Heidelberg Central Station:
All icons except one should be hidden or deleted. Then move the last icon to the centre:
Hide rivers
The objects with the number 30 (waterway=stream
) are largely covered or cut up by roads, for example:
To reduce complexity, all objects with the number 30 are hidden or deleted here: Select with ‘Tab: Edit map - Basic - Select’, then ‘Tab: Edit map - Basic - Delete’.
Hide short roads
In object 44 (Paved Track), there are short sections of road that connect to unpaved paths, which are not shown at this scale. Therefore, these short sections of road do not appear to be connected to the rest of the road network:
Such short road sections should be deleted:
- Select object 44 (Paved Track).
- Press the button ‘Tab: Edit map - Advanced - Regions’. In the table of map objects, there are now 105 map objects with object number 44 instead of just one.
- Now you can select individual lines and hide or delete them.
Note: Alternatively, you could consider hiding the entire object 44 (Paved Track).
Kartenobjekte mit Hilfe von Kartenobjekten zerschneiden
Mögliche Anwendungen sind:
- Siedlungsflächen und Wald werden aus vielen kleinen Teilflächen zusammengesetzt. Wenn diese Flächen zu groß sind oder wenn Puzzleteile mit einem eindeutigen Namen erzeugt werden sollen, können die Flächen entlang von Verwaltungsgrenzen zerschnitten werden. Dies ist mit Hilfe der ausgegrauten Linienobjekte " Boundary names and cutting lines: ..." (hier Objektnummer 110 bis 113) und der Funktion "Tab: Edit map - Advanced - 1 Subtract 2" möglich. Dadurch entsteht in den Flächen ein Spalt mit der Breite 0,3 mm.
- Flüsse, Autobahnen und Verwaltungsgrenzen werden sortiert nach ihren Namen als einzelne Kartenobjekte in die 2D-Karte geplottet und überlappen sich jeweils. Auf diese Weise entsteht ein zusammenhängendes Netz. Wenn Puzzleteile mit einem eindeutigen Namen erzeugt werden sollen, muss die Überlappung von zwei Objekten mit unterschiedlichem Namen entfernt und dazwischen ein Spalt eingefügt werden. Dies ist mit der Funktion "Tab: Edit map - Advanced - 1 Subtract (2+tolerance)" möglich. Alternativ kann als Trennlinie ein Vorschaupolygon mit der Breite 0,3 mm erzeugt und von dem Kartenobjekt mit "Tab: Edit map - Advanced - 1 Subtract 2" subtrahiert werden.
Hier werden nun die Siedlungsflächen und der Wald anhand der Verwaltungsgrenzen in Objekt 112 (Boundary names and cutting lines: borough) zerschnitten. Das Markieren aller Texte von Objekt 112 zeigt die Linien (Quelldaten der Texte) gut sichtbar an:
Boundary names and cutting lines: borough
Mache in der 2D-Karte einen Linksklick mit der Maus auf das Flächenobjekt mit der ObjNo 10 (Built-up Area). Dieses hat hier die PlotNo 3:
Mache nun einen Klick mit der mittleren Maustaste auf das Linienobjekt mit der ObjNo 112 (Boundary names and cutting lines: borough). Dieses hat hier die PlotNo 147:
Im Tab "Edit map - Advanced" sind nun die Plotnummern 3 und 147 in den Editboxen "PlotNo 1" und "PlotNo 2" eingetragen. Drücke den Button "1 Subtract 2".
Bemerkung: Die Objekte müssen nicht markiert sein, es genügt auch, die Plotnummern in die Editboxen einzutragen.
Wiederhole dies nun mit dem Wald. Die beiden Objekte wurden entlang der Linie zerschnitten:
Subtract administrative boundaries: before
Subtract administrative boundaries: after
Durch die Subtraktion können schmale Streifen oder kleine Einzelflächen entstehen. Diese werden bei der späteren Ausführung von "Menü: File - Map editing - Simplify map" automatisch vereinfacht (jetzt noch nicht!):
Subtract administrative boundaries: after "Simplify map"
Die Beschreibung der beiden Objekte wurde zur Dokumentation angepasst:
Kartenobjekte verbinden
Kartenobjekte lassen sich leichter drucken und einsetzen, wenn sie nicht zu klein sind. Insbesondere kleine und hohe Teile sind schwer zu drucken. Deswegen werden standardmäßig die in der Regel kleinen Symbole transparent erzeugt oder Symbole haben automatisch eine Verbindungslinie zu einem dazugehörigen gleichfarbigen Text. Die Buchstaben eines Textes (Vordergrund) können über einen darunter liegenden gleichfarbigen Hintergrund verbunden sein. Texte ohne Hintergrund sind möglich bei großen Einzelbuchstaben, transparenten Texten oder beim Dual-Extruder-/Multi-Material-Druck.
Beispiele:
-
Transparent symbol
-
Connection line between text and symbol
-
Text with background
-
Text without background
Gründe für das Verbinden von Kartenobjekten können daher sein:
- Verbinden von nebeneinander liegenden kleinen Objekten, damit sie sich leichter drucken lassen. Am besten werden die Verbindungslinien unterhalb von überlagerten Objekten platziert, damit sie am Ende nicht sichtbar sind.
- Bei einem Puzzle, bei dem jedes Teil genau eine Beschriftung haben soll: Verbinden zum Beispiel von kleinen Stadtteilen, auf die kein Text passt, oder von einem Stadtteil, der aus mehreren kleinen Teilflächen besteht. Wenn der Texthintergrund dieselbe Farbe hat wie die zu verbindenden Teile, kann die Verbindung auch durch den Text erfolgen: Dies ist ein Beispiel aus einem anderen Projekt:
File:MapLab3D_HD_big_ConnectObjects_05_UsingText.jpg|center|Example: connecting two parts across a river using a text of the same color (different project)
- Bei zweizeiligen Texten: Verbinden der zweiten mit der ersten Zeile. Dies sollte erst nach dem eventuellen Verschieben von Texten weiter unten geschehen.
- Verbinden von unterschiedlichen nebeneinanderliegenden Kartenobjekten, die aber eine gemeinsame Fläche bilden. Beispiel: Ein See, der Verbindung zu einem Fluss hat:
In diesem Beispiel werden nun kleine Siedlungsflächen verbunden, wenn sie untereinander einen kleinen Abstand haben und zum gleichen Stadtteil gehören. Genutzt wird der Tab "Edit map - Advanced":
- Aktiviere den Modus "Draw line" und gib eine Beschreibung ein, zum Beispiel "temp". Erzeuge eine Vorschaulinie durch Linksklick und Ziehen mit der Maus. Die Vorschaulinie kann auch mehrere Knoten haben, wenn exakt an derselben Stelle weitergemacht wird. Wenn die Vorschaulinie unterhalb von Straßen verläuft, ist die Verbindung später nicht mehr sichtbar. Mit dem Modus "Move vertex" lassen sich die Knoten der Linie korrigieren.
- Gib in der Editbox "Line width / mm" die Stärke der Verbindungslinie ein (hier: 1mm).
- Gib in der Editbox "Map object number" die Objektnummer der Siedlungsflächen ein: durch manuelle Eingabe (hier: 10) oder durch Linksklick auf die Siedlungsflächen.
- Markiere die Vorschaulinie. Drücke den Button "Preview line to line map object": die Vorschaulinie wird durch ein Kartenobjekt ersetzt. Weil die Verbindungslinie dieselbe Farbnummer wie die Siedlungsflächen hat und die darüberliegende Straße die Siedlungsflächen nicht zerschneidet, sondern oberhalb verläuft, werden die drei Teile beim Erzeugen der STL-Dateien miteinander verbunden.
-
Initial state
-
Preview line
-
Connected Built-up Area
Wiederhole dies nun mit anderen kleinen benachbarten Flächen. Es gibt später noch einmal Gelegenheit, systematisch nach zu kleinen Kartenobjekten zu suchen.
Kartenobjekte zerschneiden
Dieser Schritt ist optional. Das Zerschneiden von Objekten kann automatisch stattfinden:
- In der Funktion "Menu: File - Map editing - Simplify map": Hier werden nur Linien zerschnitten:
- Linien werden außerhalb der Ränder von unterlagerten Flächen aufgetrennt, um zu verhindern, dass die Unterseite der Fläche von einem tiefer liegenden Linienverlauf außerhalb der Fläche unnötig abgesenkt wird.
- Linien werden aufgetrennt, wenn sie einen großen Höhenunterschied haben und so der Spalt in den unterlagerten Teilen unnötig tief wird.
- In der danach ausgeführten Funktion "Menu: File - Create map STL files": Hier werden alle Kartenobjekte zerschnitten, die größer als spezifizierten maximalen Abmessungen sind. Diese Abmessungen können je nach Farbe unterschiedliche Werte haben:
- Die maximalen Abmessungen dürfen nicht größer als der Bauraum des verwendeten Druckers sein.
- Die maximalen Abmessungen können kleiner gewählt werden, um ein Puzzle schwieriger zu machen.
Bemerkungen:
- In der Funktion "Simplify map" werden die Projektparameter unter "colorspec.simplify_map" angewendet. Die Anwendung lässt sich einfach mit "Divide lines automatically (0/1)" in Zeile 128 deaktivieren.
- In der Funktion "Create map STL files" werden die Projektparameter unter "colorspec.cut_into_pieces" angewendet. Dort lässt sich auch die Form der Schneidelinien einstellen. Die zwei wichtigsten Parameter stehen in Zeile 48 und 49 als "Maximum object size".
Für das manuelle Zerschneiden von Objekten sprechen die folgenden Gründe:
- Die Funktionen für das automatische Zerschneiden liefern nicht immer das optimale Ergebnis und können bei komplexeren Kartenobjekten auch unzuverlässig sein.
- Das Zerschneiden von Linien in "Simplify map" basiert zum Teil auf der Form der unterlagerten Flächen, die beim automatischen Zerschneiden aber erst im zweiten Schritt "Create map STL files" zerschnitten werden. Das Ergebnis ist also nicht optimal.
Aus diesen Überlegungen ergeben sich die folgenden möglichen Vorgehensweisen:
- Einfachste Lösung: Die beiden Schritte "Kartenobjekte zerschneiden" (jetzt und später) überspringen und ausprobieren, ob das automatische Zerschneiden ein zufriedenstellendes Ergebnis liefert.
- Etwas höherer Aufwand: Das automatische Zerschneiden von Linien in "Simplify map" eingeschaltet lassen ("Divide lines automatically (0/1)" = 1). Vor der Ausführung von "Simplify map" (also jetzt) alle Flächen auf die maximale oder gewünschte Größe manuell zerschneiden ("Maximum object size", je nach Bauraum des Druckers).
- Höchster Aufwand, bestes Ergebnis: Das automatische Zerschneiden von Linien in "Simplify map" ausschalten ("Divide lines automatically (0/1)" = 0). Nach der Ausführung von "Simplify map" (also später) alle Kartenobjekte (Flächen und Linien manuell zerschneiden.
Hier wird die dritte Option gewählt, die das beste Ergebnis liefert. Schalte daher nun das automatische Zerschneiden von Linien aus:
Project Parameter Modifications
Nach Speichern und Laden der Projektparameter wird mit dem nächsten Schritt begonnen.
Position der Höhenpunkte korrigieren
Die Position der Höhenpunkte natural=peak
in den OSM-Daten stimmt nicht immer mit dem höchsten Punkt einer Erhebung in der 3D-Landkarte überein. Dies wird erkennbar, wenn mit "Menü: View - Show contour lines" die Höhenlinien eingeschaltet werden:
Stelle nun eine höhere Auflösung der Höhenlinien ein ("Menü: View - Show contour lines" zweimal anklicken), zum Beispiel:
Wenn Du in die Karte hineinzoomst, ist erkennbar, dass einzelne Höhenpunkt-Symbole nicht am höchsten Punkt liegen:
Markiere das Symbol, den Text und die Verbindungslinie und korrigiere mit "Tab: Edit map - Basic - Move" die Position dieser Objekte:
Wiederhole dies mit allen anderen Höhenpunkten und passe dabei auf, nicht das falsche Objekt zu markieren. Mit den Pfeilen unter "Tab: Edit map - Map View" lässt sich der Kartenausschnitt für diese Arbeit systematisch verschieben.
Bemerkung: Wenn ein Objekt aus Versehen verschoben wurde, kann es mit dem Button "Tab: Edit map - Basic - Reset" auf die Form bei seiner Erstellung zurückgesetzt werden.
Texte und Symbole bearbeiten
Die Bearbeitung von Texten und Symbolen sollte nach den folgenden Richtlinien erfolgen:
Allgemeine Richtlinien:
- Texte und Symbole haben von allen Kartenobjekte die höchste Objektpriorität. Sie sollen vollständig sichtbar sein und sich nicht gegenseitig überlappen. Dies lässt sich mit Hilfe der Funktion "Menü: File - Map editing - Detect overlapping texts and symbols" kontrollieren.
- Texte und Symbole mit eigener Farbe sollten möglichst wenig andere Objekte überlappen, weil diese Objekte dann von den Texten entweder zerschnitten werden oder weil die Unterseite dieser Objekte dadurch abgesenkt wird. Der Mindestabstand zu anderen Objekten sollte 0,5 mm betragen. Dies entspricht dem Spaltmaß in dem Ausschnitt, den Texte und Symbole in unterlagerten Teilen erzeugen (Parameter colorspec(3,1).d_side, aktuell 0,45 mm).
- Texte sollten möglichst entlang von Höhenlinien verlaufen, damit die einzelnen Buchstaben eine konstante Höhe haben. Alternativ sollten die Texte so platziert werden, dass die Höhenunterschiede möglichst gering sind.
- Wenn der Platz nicht reicht, können Texte mit Hilfe von "Change text" im Kontextmenü abgekürzt oder auf mehrere Zeilen aufgeteilt werden, die sich wiederum einzeln verschieben oder rotieren lassen.
- Wenn sich zu viele Texte oder Symbole überlappen oder wenn ein Element, das der Text beschreibt, zu klein ist, können Texte und Symbole ausgegraut oder gelöscht werden.
Bei einer Verwendung als wiederverwendbares Puzzle:
- Wenn Puzzleteile mit Beschriftung gedruckt werden: Beschriftungen sollten möglichst vollständig über dem jeweiligen Puzzleteil platziert werden und nicht darüber hinausragen.
- Wenn Griffe zum Herausnehmen erzeugt werden: jedes Teil muss je nach Größe mindestens einen Griff an einer geeigneten Stelle haben (bei einem Griff möglichst in der Mitte).
- Mit Hilfe der Funktion "Menü: File - Map editing - Detect misplaced texts and symbols " lässt sich kontrollieren,
- dass alle Puzzleteile eine Beschriftung haben,
- dass alle Puzzleteile eine gewisse Anzahl Griffe haben und
- ob Texte oder Symbole freistehen und keinem Puzzleteil zugeordnet sind.
Bei transparenten Texten und Symbolen:
- Transparente Texte und Symbole sollten möglichst nicht über einer Kachelgrenze platziert werden, damit sie keinen Spalt haben.
- Transparente Texte und Symbole sind besser erkennbar, wenn der Untergrund aus einer einheitlichen Farbe besteht. So sind auch die Texte und Symbole einfarbig und nicht von einem Schlitz unterbrochen. Dafür gibt es die folgenden Möglichkeiten:
- durch Verschieben möglichst über einer einheitlichen Farbe oder über möglichst wenigen Farben platzieren,
- darunterliegende Objekte zerschneiden,
- darunter eine gefärbte Fläche hinzufügen,
- dem Text oder Symbol eine eigene Farbe zuweisen.
Bei der Bearbeitung ist es hilfreich, mit den Pfeilen unter "Tab: Edit map - Map View" den Kartenausschnitt systematisch zu verschieben.
Verbindungslinien zwischen Texten und Symbolen: Die sogenannten "Connection lines" verbinden die in der Regel kleinen Symbole mit einem zugeordneten Text auf kürzestem Weg. Dies erleichtert den Druck der Symbole, die Zuordnung zur richtigen Stelle auf der Landkarte und das Einsetzen. Nach dem Verschieben von Texten muss die Verbindungslinie neu gezeichnet werden.
Texte verschieben und rotieren
Schalte die Anzeige der Höhenlinien ein. Mit Hilfe von "Move" und "Rotate" im Tab "Edit map - Basic" werden nun in diesem Beispiel die folgenden Verbesserungen vorgenommen:
- Platziere den Namen des Flusses Neckar so, dass die Buchstaben vollständig auf der Wasserfläche und in der Flussmitte liegen. Platziere die Namen aller Stadtteile so, dass sie vollständig innerhalb der Stadtgrenzen liegen und möglichst wenig andere Straßen verdecken:
- Platziere die Texte der Höhenpunkte so, dass sie möglichst wenig andere Objekte verdecken. Die Texte der Höhenpunkte sollen in diesem Beispiel dabei nicht rotiert werden. Um das Symbol wieder mit dem Text zu verbinden, erstelle zunächst Vorschaulinien wie beim Verbinden von Kartenobjekten (siehe oben). Zwei Linien zwischen den Zeilen erhöhen die Stabilität. Um die Vorschaulinien in ein Kartenobjekt umzuwandeln drücke nun "Preview line to connection line". So wird eine Verbindungslinie mit der vordefinierten Linienstärke erstellt. Die ursprüngliche Verbindungslinie kann gelöscht werden:
- Hier verdeckt der Text zusätzlich eine kleine Siedlungsfläche (siehe wikipedia: Heidelberg_Thingstätte). Verschiebe den Text auf dieselbe Art wie oben:
- Hier passt der Text nicht zwischen Straße und Kartenrand. Rufe das Kontextmenü des oberen Textes auf (Linksklick auf den Text, dann Rechtsklick an derselben Stelle). Wähle "Change text", teile den Text auf zwei Zeilen auf und verfahre wie oben:
- In dem hier gezeigten Fall lässt es sich nicht vermeiden, dass der Text die Straße verdeckt. Um hier die Straße vollständig anzuzeigen könnte der Höhenpunkt ausgeblendet werden. Hier wird entschieden, den Höhenpunkt zu belassen, dafür wird später die darunterliegende Straße automatisch vom Text zerschnitten. Der Text sollte allerdings genügend Abstand zur roten Siedlungsfläche haben.
- Dieser Höhenpunkt liegt am Rand der Karte und wird ausgeblendet:
- Bearbeite auch alle restlichen Texte entsprechend.
Transparente Symbole
Hier werden zwei Beispiele vorgestellt, wie die Darstellung von transparenten Symbolen verbessert werden kann:
- Das Symbol des Zoo Heidelberg befindet sich teilweise über dem Parkplatz des Zoos und wird daher nicht in einheitlicher Farbe gedruckt. Mache einen Linksklick auf das Objekt mit der ObjNo 50 (Minor Road). Dieses hat hier die PlotNo 124. Mache nun einen Klick mit der mittleren Maustaste auf das Symbol des Zoos Heidelberg mit der ObjNo 97 (Zoo). Dieses hat hier die PlotNo 168. Im Tab "Edit map - Advanced" sind nun die Plotnummern 124 und 168 in den Editboxen "PlotNo 1" und "PlotNo 2" eingetragen. Drücke den Button "1 Subtract (2+tolerance)". Zwischen Straße und Symbol befindet sich nun ein Abstand, der dieselben Abmessungen wie der Spalt zwischen Straßenteil und Siedlungsunterseite hat. Der kleine Wald unterhalb des Symbols muss nicht bearbeitet werden, da der im nächsten Schritt ohnehin gelöscht wird, weil Waldflächen von Siedlungsflächen zerschnitten werden:
- Auf der Karte befindet sich ein weiteres Zoo-Symbol: die Hirtenaue in Ziegelhausen. Dieses Symbol wird verschoben, damit es wenigstens nur aus zwei Farben besteht:
Symbole mit eigener Farbe drucken
Auf der Karte befinden sich zwei transparente Burg-Symbole:
Diese Symbole werden nun farbig gedruckt, um sie hervorzuheben. Weil es nur zwei sind, hält sich der Aufwand beim Drucken und Einsetzen in Grenzen. Die Burg-Symbole haben die Objektnummer 98 und sollen dieselbe Farbe wie die Höhenpunkte (Farbnummer 26) bekommen, um keine neue Farbe einführen zu müssen.
Überschreibe in den Projektparametern die Farbnummer für den Objekt-Vordergrund und den Objekt-Hintergrund von Objekt 98 mit dem Wert 26:
Project Parameter Modifications
Bemerkung: Viele Zellen enthalten Formeln, um die Anpassung der Parameter mehrerer Objekte durch einen einzigen Parameter oberhalb der "Expert settings" zu vereinfachen. Die Formeln in der Vorlage (in Spalte DATASET_1) sollten nicht überschrieben werden, um diese Funktionalität zu erhalten, bei Anpassungen für ein bestimmtes Projekt (ab Spalte DATASET_2) ist das Überschreiben der Formeln mit Werte aber kein Problem.
Verschiebe außerdem die zwei Symbole so, dass wenigstens ein Teil der Straßen nicht zerschnitten wird. Nach Speichern und Laden der Projektparameter haben die zwei Burgen nun eine eigene Farbe:
Überprüfung von Texten und Symbolen auf gegenseitige Überlappung
Weil in der folgenden Funktion "Simplify map" die meisten Objekte unterhalb von Texten und Symbolen von diesen zerschnitten werden, sollte die Platzierung der Texte und Symbole an dieser Stelle möglichst abgeschlossen sein. Um dies sicherzustellen werden hier nun Texte und Symbole automatisch auf Überlappung geprüft.
Führe die Funktion "Detect overlapping texts and symbols" aus. Wenn eine Überlappung zwischen Texten und Symbolen erkannt wird, zeigt eine Warnung die betreffenden Plotnummern an und ein Vorschaupolygon zeigt die sich überlappenden Flächen an. Hier werden zwei Überlappungen von Stationen der Heidelberger Bergbahn erkannt:
Die zwei Stationen "Schloss" der Standseilbahn haben einen so kleinen Abstand, dass ein Symbol gelöscht werden kann:
-
Station Schloss Before
-
Station Schloss After
Die zwei Stationen "Molkenkur" der Standseilbahn sind Endstationen und haben einen größeren Abstand. Hier wird die Überlappung akzeptiert:
Überprüfung von Texten und Symbolen auf Überlappung mit anderen Kartenobjekten
Bei einem Puzzle soll eventuell jedes einzelne Puzzleteil einen Text und mindestens einen Griff haben. Bei einem großen Puzzle können ein fehlender Text oder Griff leicht übersehen werden. Mit der Funktion "Menü: File - Map editing - Detect misplaced texts and symbols" lässt sich dies automatisch überprüfen.
Hier ist diese Überprüfung nicht erforderlich.
Bemerkungen:
- Griffe können als runde und hohe Symbole realisiert werden.
- Vor der Ausführung müssen die "united equal colors" berechnet werden, dies geschieht einfach durch Drücken des Buttons "Tab: Edit map - Advanced - Create united equal colors" (Dauer hier 43s).
- Wenn ein Text nicht nur das Puzzleteil selbst überlappt, hat er Einfluss auf die Höhe anderer Teile. Ein vergessener Text kann im Extremfall dazu führen, dass sich die Höhe der ganzen Karte ändert. Dies sollte möglichst frühzeitig und nicht erst nach dem Druck erkannt werden.
- Weil die Funktion "Simplify map" Kartenobjekte zerschneidet und sich deshalb auch die zusammenhängenden Flächen einer Farbe ändern können, sollte die Funktion "Menü: File - Map editing - Detect misplaced texts and symbols" auch danach noch einmal ausgeführt werden.
2D-Karte vereinfachen (Simplify map)
Dies ist das Ergebnis der vorhergehenden Schritte:
2D-map overview before "Simplify map"
Führe nun die Funktion "Menü: File - Map editing - Simplify map" aus, um Überlappungen zu reduzieren und Teile zu löschen, die zu klein sind (Dauer hier: 2:48 min). Damit reduziert sich der Materialaufwand und der Druck und Zusammenbau werden einfacher. Dies ist das Ergebnis:
2D-map overview after "Simplify map"
Bearbeitung der 2D-Karte
Die folgenden Schritte werden nach der Vereinfachung mit "Simplify map" durchgeführt.
Kartenobjekte zerschneiden
Allgemeine Strategien zum Zerschneiden von Objekten stehen weiter oben. Weil das automatische Zerschneiden von Linien deaktiviert wurde, wird dies nun hier manuell gemacht.
Als Hilfe für das Zerschneiden von Kartenobjekten wurden bei Ausführung von "Simplify map" die sogenannten "United equal colors" berechnet. Diese stehen in der Tabelle der Kartenobjekte ganz oben und sind normalerweise ausgeblendet. Sie stellen die Grundflächen der Teile dar, so wie sie später gedruckt werden und entstehen durch Vereinigung von sich überlappenden Flächen mit gleicher Farbe.
Wechsle nun zum Tab "Edit map - Advanced". Wähle im Dropdown-Menü "Cutting lines" den obersten Eintrag "Color 6 (forests)". Auf der 2D-Karte sind jetzt nur die Wälder sichtbar:
Color 6 (forests) and "Maximum object size"
Der Ablauf zum Zerschneiden von Kartenobjekten ist allgemein folgender:
- Schalte die Höhenlinien wieder ein.
- Erstelle mit "Draw line" die "Preview cutting lines" an den Stellen, wo die Teile zerschnitten werden sollen.
- Markiere die "Preview cutting lines" und wandle sie durch Drücken des Buttons "Preview cut-line to cut-line" in "Cutting lines" um.
- Mit Drücken des Buttons "Cut" werden die "united equal colors" an den Positionen der "Cutting lines" testweise zerschnitten.
- Mit dem Eintrag "Regions number and dimensions" im Kontextmenü lässt sich überprüfen, ob die Größe einer Region nach dem Zerschneiden außerhalb der Grenzen liegt. In diesem Fall wird der Text rot formatiert. Durch Anklicken eines Eintrags im Kontextmenü wird auf die entsprechende größte oder kleinste Region gezoomt.
- Im Kontextmenü wird auch angezeigt, welche Region den größten Höhenunterschied ("Regions: max dz = ...") hat. Dieser Eintrag ist magenta formatiert. Die Höhe eines Teils kann auch ein Kriterium beim Zerschneiden sein.
- Mit "Reset united equal colors" lässt sich das testweise Zerschneiden rückgängig machen. Die "Cutting lines" können gelöscht, die "Preview cutting lines" können gelöscht oder verändert werden.
- Wenn alle "Cutting lines" für alle Farben optimal eingestellt sind (und nur dann), werden die Kartenobjekte mit "Menü: File - Map editing - Cut into pieces" endgültig zerschnitten. Dies lässt sich nicht mehr rückgängig machen.
Bemerkungen:
- Die Einträge im Dropdown-Menü "Cutting lines" sind nach Farbpriorität sortiert. Oben steht die Farbe mit der niedrigsten Priorität. Farben mit höherer Priorität werden oberhalb von Farben mit niedrigerer Priorität eingesetzt, wenn sich die Objekte nicht ohnehin gegenseitig zerschneiden.
- Die Farben sollten in der gegebenen Reihenfolge bearbeitet werden, weil das optimale Zerschneiden von Kartenobjekten von den unterlagerten Teilen abhängen kann.
- Wenn im Dropdown-Menü "Cutting lines" eine Farbnummer ausgewählt ist, sind alle neu gezeichneten Preview lines automatisch sogenannte "Preview cutting lines". Die "Preview cutting lines" wie auch die "Cutting lines" sind der jeweiligen Farbnummer zugeordnet und werden nur sichtbar, wenn diese Farbe im Dropdown-Menü ausgewählt wird.
- Die Form und Breite der "Cutting lines" lässt sich mit den Projektparametern "colorspec(no,1).cut_into_pieces" beeinflussen. Für Straßen ist eine gerade Linie eingestellt, für Flächen eine unregelmäßige Zickzacklinie. Die Zickzacklinie hat zwischen den Knoten der "Preview cutting line" einen zufälligen Verlauf, geht aber exakt durch die Knoten hindurch.
- Nach dem Erstellen der "united equal colors" erscheint die "Maximum object size" als magentafarbene gestrichelte Linie um jede Kachel. Es ist vorteilhaft, wenn alle Teile einer Kachel innerhalb dieser Grenzen liegen, weil sie dann beim Drucken nicht verschoben werden müssen, um auf das Druckbett zu passen.
Trennlinien für die Waldflächen
Weil die Waldflächen bereits entlang der Verwaltungsgrenzen zerschnitten wurden, gibt es hier keine zu großen Teile mehr. Um das Prinzip zu demonstrieren, sollen die Waldflächen daher hier in noch kleinere Puzzleteile zerschnitten werden. Um die Höhe der Teile zu verringern, ist es vorteilhaft, die Flächen entlang der Höhenlinien zu zerschneiden. Das nächste Bild zeigt einen Ausschnitt mit roten "Preview cutting lines" und zickzackförmigen "Cutting lines":
Color 6 (forests): Cutting lines
Beachte, dass die "Cutting lines" an der Kachelgrenze zwischen den beiden magentafarbenen Linien ("Maximum object size") liegen. Erstelle nun alle "Cutting lines" für die Farbe 6 (forests), überprüfe die Lage der Linien und drücke dann den Button "Cut".
Trennlinien für die Siedlungsflächen
Wähle im Dropdown-Menü "Cutting lines" den Eintrag "Color 7 (settlement areas)". Auf der 2D-Karte sind nun die Siedlungsflächen sichtbar. Im Kontextmenü der Siedlungsflächen wird kein Fehler angezeigt, es gibt also kein Teil, das zu groß ist. Die Siedlungsflächen werden hier nicht zusätzlich zerschnitten, damit die Zuordnung zu den Namen der Stadtteile erkennbar bleibt:
Bemerkung:
- Standardmäßig werden immer auch alle unterlagerten Farben angezeigt, also hier der Wald. In diesem Fall wäre dies nicht erforderlich, weil die Waldflächen von den Siedlungsflächen zerschnitten werden, die Siedlungsflächen also nicht über Waldflächen liegen und das Zerschneiden der Siedlungsflächen somit nicht von der Lage der Waldflächen abhängt. Nicht benötigte Objekte können zur besseren Übersicht auch einfach verborgen werden ("Hide").
Trennlinien für die Wasserflächen
Wähle im Dropdown-Menü "Cutting lines" den Eintrag "Color 16 (water)". Auf der 2D-Karte sind nun die Siedlungsflächen sichtbar. Auch hier wird im Kontextmenü der Siedlungsflächen kein Fehler angezeigt. Die Wasserflächen sind durch die Brücken bereits ausreichend klein und werden nicht weiter zerschnitten:
Bemerkung: Texte, Symbole und Connection lines derselben Farbe werden ebenfalls angezeigt:
- damit Kartenobjekte anhand ihrer Beschriftung zerschnitten werden können und
- damit Texte nicht aus Versehen zerschnitten werden.
Trennlinien für die Straßen
Wähle im Dropdown-Menü "Cutting lines" den Eintrag "Color 19 (highways: tertiary)". Auf der 2D-Karte ist nun das verzweigte Straßennetz aller Straßen mit dieser Farbe sichtbar. Hier müssen nun die folgenden Probleme gelöst werden:
- Das Kontextmenü zeigt zwar kein zu großes Teil, aber einen großen maximalen Höhenunterschied an (magentafarbener Text "max dz = ...").
- Ein weiteres Problem sind große Regionen von Linien, die oberhalb von kleinen Wald- und Siedlungsflächen verlaufen und diese nicht zerschneiden. Die Unterseite der Wald- und Siedlungsteile ist somit immer tiefer als der tiefste Punkt der Linien, auch wenn der tiefste Punkt der Linien außerhalb der Wald- oder Siedlungsfläche liegt. Linien sollten daher außerhalb dieser Flächen zerschnitten werden, damit der tiefste Punkt der Linie nicht mehr zu dem Linienstück gehört, das über der Fläche verläuft.
Dies soll an einem Beispiel verdeutlicht werden. Betrachtet werden die zwei kleinen Siedlungsflächen auf dem Königstuhl. Weil die Straße ein großes zusammenhängendes Teil ist, wird die Unterseite dieser Siedlungsflächen bis unter die Höhe der Straße im Tal abgesenkt. Es entstehen kleine und hohe Siedlungsteile, die beim Druck leicht umkippen können. Um dies zu verhindern, wird die Straße nun auf der Höhe von 22 mm zerschnitten. Zusätzlich wird die Straße unterhalb der Ränder der Wald-Puzzleteile zerschnitten, um auch hier das Absenken der Unterseite zu verhindern:
Color 18 (highways: tertiary, minor): Cutting lines
Die folgenden zwei Bilder zeigen das Ergebnis nach Ausführung von "Menü: File - Create map STL files" mit und ohne Zerschneiden von Linien. In dieser Darstellung sind nur die relevanten Teile sichtbar:
-
Without cutting of lines: 3D map
-
With cutting of lines: 3D map
Man sieht, dass die Straßen- und Siedlungsteile nicht mehr so hoch sind. Sie sollten sich problemlos drucken lassen.
Bemerkung
- Vor dem Druck sollten alle STL-Dateien auf solche möglichen Probleme beim Druck überprüft werden, um noch rechtzeitig Korrekturen machen zu können.
- Bei der kleinen Siedlungsfläche wäre es auch möglich gewesen, die Überlappung mit der Straße zu verhindern, indem die Straße von der Siedlungsfläche manuell subtrahiert wird ("1 Subtract (2+tolerance)"). Diese Lösung ist aber nicht in jedem Fall möglich.
Das Waldstück in der rechten oberen Ecke wird nur am Rand von Straßen überlappt. Hier ist es sinnvoll, die Fläche der Straßen von der Waldfläche mit "1 Subtract (2+tolerance)" zu subtrahieren:
-
Overlap of streets and forest
-
Without overlap
Bei den anderen Straßen (Farben Nr. 19 bis 21) gibt es keinen Handlungsbedarf, weil sie alle in der Ebene oder im Tal verlaufen und nicht zu groß sind.
Trennlinien für die Eisenbahn
Wähle im Dropdown-Menü "Cutting lines" den Eintrag "Color 23 (railways)". Fast alle Schienen verlaufen in der Ebene oder im Tal, nur die Standseilbahn sollte zerschnitten werden:
Color 23 (railways): Cutting lines
Die Teile mit den beiden restlichen Farben "Color 26 (symbols)" und "Color 28 (texts" werden nicht zerschnitten.
Anwendung der Trennlinien
Wenn die "Cutting lines" für alle Farben erstellt und im Kontextmenü keine Fehler angezeigt werden, können die "Cutting lines" angewendet werden: Führe die Funktion "Menü: File - Map editing - Cut into pieces" aus.
Bemerkung: Dieser Schritt lässt sich nicht rückgängig machen. Es werden aber im Projektverzeichnis automatisch Sicherungskopien des Projekts von dem Stand davor und danach erstellt ("HD - before cut into pieces - v1.0.0 - MAP ..." und "HD - after cut into pieces - v1.0.0 - MAP ...).
Kleine Teile löschen oder transparent machen
Die minimale Teilegröße ist aktuell 4 mm in der Diagonalen der Bounding Box. Teile mit diesen Abmessungen sind schwerer zu drucken und als Puzzleteile möglicherweise zu klein. Es besteht die Möglichkeit, solche kleinen Teile abhängig von der Größe automatisch zu markieren und sie dann entweder zu löschen, sie mit anderen Teilen zu verbinden oder sie transparent zu machen. Da die verschiedenen Objekte nicht nur unterschiedliche Farben, sondern auch unterschiedliche Höhen haben, lassen sich transparente Objekte immer noch erkennen.
Führe die Funktion "Menü: File - Map editing - Detect small pieces" aus. Wenn danach gefragt wird, gib als erstes die Farbnummer 6 (forests) ein. Mit den Standardeinstellungen für die minimalen Abmessungen (Diagonale 5 mm, Fläche 6 mm^2) werden einige zu kleine Flächen erkannt und mit einem Vorschaupolygon hervorgehoben:
Color 6 (forests): Detected small pieces
Die weitere Vorgehensweise ist:
- Teile den Wald in Regionen auf ("Tab: Edit map - Advanced - Regions").
- Sortiere das rote Vorschaupolygon an den Anfang der Tabelle, damit sich die zu kleinen Waldstücke mit der Maus selektieren lassen (Button "Tab: Edit map - Basic - Back/First").
- Entscheide nun im Einzelfall, ob die kleinen Flächen gelöscht, transparent gemacht, verbunden oder belassen werden. In diesem Beispiel werden die kleinen Waldflächen gelöscht.
- Das rote Vorschaupolygon sollte der besseren Übersicht halber nun ausgeblendet werden.
Tipp:
- Wenn eine Wald- oder Siedlungsfläche fast vollständig von anderen Objekten bedeckt ist, sollte sie gelöscht werden.
Wiederhole dies mit den restlichen Farbnummern und entscheide jeweils, welches die minimalen Abmessungen sein sollen und wie die Objekte behandelt werden.
Wenn durch vorherige Bearbeitungen Überlappungen entstanden sind oder Spalte verringert wurden: Führe die Funktion "Menü: File - Map editing - Simplify map" noch einmal aus und wiederhole die Ausführung von "Menü: File - Map editing - Detect small pieces" um zu kontrollieren, ob etwas übersehen wurde.
Zerbrechliche Teile identifizieren
Wenn ein größeres Teil eine oder mehrere dünne Stellen hat, kann es dort leicht zerbrechen. Solche möglichen Bruchstellen sollten vor allem bei einem wiederverwendbaren Puzzle verstärkt werden. Wenn die Teile nur einmal zusammengesetzt und verklebt werden, lässt sich die folgende Überprüfung auch überspringen.
Führe die Funktion "Menü: File - Map editing - Detect fragile pieces" aus. Gib die zu überprüfende Farbnummer ein und beginne wieder mit der kleinsten Nummer 6 (forests). Als minimale Breite von möglichen Bruchstellen ist 1 mm eingestellt. Bei großen Teilen sollte dieser Wert höher sein.
Mit Drücken von OK wird die Randlinie der "united equal colors" intern um die halbe eingegebene Breite nach innen und dann wieder zurück verlagert. Wenn es eine Differenz zwischen vorher und nachher gibt und die Differenzfläche sich inmitten des Teils befindet, wird diese Fläche als mögliche Bruchstelle mit einem Vorschaupolygon markiert. Hier erkennt die Funktion beim Wald vier mögliche Bruchstellen:
Color 6 (forests): Detected fragile pieces
Die Vorgehensweise zur Verstärkung der Bruchstellen wird nun an einem Beispiel demonstriert. Das folgende Bild zeigt das vollständige zerbrechliche Puzzleteil und eine Vergrößerung der möglichen Bruchstelle:
-
Complete fragile forest piece
-
Possible breaking point
Weil hier die Waldflächen von den Siedlungsflächen zerschnitten werden, damit sie sich nicht überlappen, muss für das Vergrößern der Waldfläche die Siedlungsfläche verkleinert werden:
- Sortiere das rote Vorschaupolygon an den Anfang der Tabelle, damit sich der Wald mit der Maus selektieren lässt (Button "Tab: Edit map - Basic - Back/First"). Der über dem Wald verlaufende Weg kann für die Bearbeitung temporär ausgeblendet werden ("Tab: Edit map - Basic - Hide temporarily").
- Markiere das zerbrechliche Waldstück mit der Maus. Verschiebe dann mit aktivierter Funktion "Move vertex" (Tab "Edit map - Advanced") die Knoten des Waldes, um die mögliche Bruchstelle zu verbreitern. Es ist auch möglich, mit "Delete vertices" Knoten in einem ausgewählten Bereich zu löschen.
- Mache einen Linksklick auf das Siedlungsteil (PlotNo 1) und dann einen Klick mit der mittleren Maustaste auf das Waldteil (PlotNo 2). Drücke den Button "1 Subtract (2+tolerance)". Das Siedlungsteil wurde verkleinert und der Spalt ist ausreichend groß, dass sich die Teile nicht überlappen. Es wäre auch möglich gewesen, die Funktion "Simplfy map" erneut auszuführen, das dauert zwar sehr viel länger, könnte bei vielen zu reparierenden Stellen aber dennoch sinnvoll sein.
- Blende nun mit ("Tab: Edit map - Basic - Restore all") die temporär ausgeblendeten Objekte wieder ein.
-
Reinforced breaking point
-
Settlement area reduced
Eine weitere Möglichkeit zur Verstärkung von Schwachstellen ist, über die mögliche Bruchstelle einen Streifen mit derselben Objektnummer zu legen, sozusagen als Pflaster. Die Vorgehensweise ist:
- Erstelle mit "Draw line" Vorschaulinien, die in die Streifen umgewandelt werden sollen (Tab "Edit map - Advanced").
- Mache einen Linksklick auf den Wald oder gib alternativ die Objektnummer des Waldes unter "Map object number" ein, hier ObjNo 12.
- Gib unter "Line width / mm" die Linienbreite ein, hier 1 mm.
- Drücke den Button "Preview line to line map object".
- Wenn nötig, bewege die Pflaster an die richtige Stelle.
- Subtrahiere die Pflaster mit "1 Subtract (2+tolerance)" nacheinander von den Siedlungsflächen wie oben beschrieben (alternativ: "Simplfy map" nach der Bearbeitung aller Schwachstellen).
-
Possible breaking points
-
Preview lines
-
Converted preview lines
-
Settlement area reduced
Das dritte zerbrechliche Waldteil wird fast vollständig von einer Bahnlinie überlappt. Es wird bei dieser Gelegenheit gelöscht:
Almost complete overlap: can be deleted
Wiederhole dies mit den eventuellen restlichen Schwachstellen der Farbnummer 6 und mit allen weiteren Farbnummern, die Flächenobjekte enthalten.
Wenn durch vorherige Bearbeitungen Überlappungen entstanden sind oder Spalte verringert wurden: Führe die Funktion "Menü: File - Map editing - Simplify map" noch einmal aus. Wenn alle Überlappungen oder verringerten Spalte einzeln mit "1 Subtract (2+tolerance)" korrigiert wurden genügt es, lediglich den Button "Tab: Edit map - Advanced - Create united equal colors" zu drücken. Wiederhole dann die Ausführung von "Menü: File - Map editing - Detect fragile pieces " um zu kontrollieren, ob etwas übersehen wurde.
Texte und Symbole kontrollieren
Durch die vorhergehenden Schritte können sich Flächen verändert haben. Wenn die Landkarte Puzzleteile mit Texten und/oder Griffen enthält, sollte hier noch einmal wie bereits oben beschrieben mit der Funktion "Menü: File - Map editing - Detect misplaced texts and symbols" überprüft werden, ob jedes einzelne Puzzleteil einen Text und mindestens einen Griff hat.
Hier ist diese Überprüfung nicht erforderlich.
2D-Karte vereinfachen (Simplify map): Wiederholung
Wenn durch vorherige Bearbeitungen Überlappungen entstanden sind oder Spalte verringert wurden, oder wenn Texte oder Symbole geändert wurden, sollte die Funktion "Menü: File - Map editing - Simplify map" noch einmal ausgeführt werden.
Löcher verschließen
Löcher in den Flächenobjekten (hier: Siedlungsflächen, Wald, Wasserflächen) können verschiedene Ursachen haben, zum Beispiel:
- eine Lichtung in einem Wald oder
- eine unbebaute Fläche in einem Siedlungsgebiet oder
- eine Insel im Wasser.
Es kann aber auch sein, dass das Loch nicht der Realität entspricht:
- wenn die Include-Tags des Kartenobjekts unvollständig sind oder
- wenn die OSM-Daten unvollständig sind.
Das Verschließen von Löchern kann grundsätzlich auf zwei Arten erfolgen:
- Bei unvollständigen Include-Tags: Die Include-Tags in der Projektparameter-Datei verbessern und das Kartenobjekt neu erstellen. Dies ist die beste Methode, sollte aber nur am Anfang der Bearbeitung erfolgen.
- Das Loch manuell verschließen, um die genannten Fehler zu beheben oder das Puzzleteil und den Druck zu vereinfachen. Dies ist meistens am Anfang der Bearbeitung möglich und auch sinnvoll, in einem speziellen Fall hier aber erst am Ende: Wenn sich eine kleine Siedlungsfläche in einem Wald befindet, darf das Loch im Wald erst nach der letzten Ausführung von " Simplify map" geschlossen werden, weil ansonsten dabei der Wald von Siedlungsflächen wieder zerschnitten wird.
Automatische Suche nach kleinen Löchern
Die Vorgehensweise zum automatischen Auffinden und dem manuellen Verschließen kleiner Löcher ist:
- Führe die Funktion "Menü: File - Map editing - Detect small holes" aus. Gib die zu überprüfende Farbnummer und die minimalen Abmessungen von Löchern ein.
- Die Funktion markiert in den Siedlungsflächen ein kleines Loch. Ein Abgleich mit der OSM-Karte ergibt, dass sich dort zwar ein Gebäude befindet, die Fläche unter dem Gebäude allerdings keinen Tag hat:
- Erstelle als Pflaster eine geschlossene Vorschaulinie um das Loch, zum Beispiel ein Rechteck.
- Wandle die geschlossene Linie in ein Vorschaupolygon um.
- Führe einen Linksklick auf die Siedlungsfläche aus oder trage die Objektnummer der Siedlungsflächen in das Feld "Map object numer" im Tab "Edit map - Advanced" ein.
- Markiere das Pflaster und drücke den Button "Preview to map object" (ohne die Checkbox "Merge" zu aktivieren). Damit ist das Loch verdeckt.
-
Preview line around the hole
-
Preview polygon around the hole
-
Settlement area around the hole
Kontrolliere auch die anderen Farben, mit denen Flächenobjekte erstellt werden. In diesem Beispiel werden keine weiteren kleinen Löcher erkannt.
Korrektur unvollständiger Flächen
Unvollständige Include-Tags können nicht nur kleine Löcher verursachen, sondern es können auch größere Gebiete fehlen. Es ist daher sinnvoll, die 2D-Karte mit der OSM-Karte zu vergleichen und so zu überprüfen, ob das Ergebnis korrekt ist. Es wurden zwei Fehler erkannt:
Eine Problem stellt der Tag landuse=railway
dar. Dieser Tag ist absichtlich nicht im Objekt 10 (settlement areas) enthalten, weil sonst auch die Flächen entlang von Bahnlinien als schmale Streifen von Siedlungsflächen erzeugt werden würden, das ist unerwünscht. Auf der anderen Seite werden damit auch zum Beispiel Bahnhöfe oder Lokomotivdepots getaggt, was sich durchaus zur bebauten Fläche zählen lässt.
Aus diesem Grund wird der Betriebshof einer Straßenbahn hier nicht als bebaute Fläche angezeigt. Zusammen mit undefinierten Flächen darunter ergibt sich ein größeres Loch:
Erstelle ein Vorschaupolygon als Pflaster und schließe das Loch wie oben beschrieben. Subtrahiere dann das Objekt "Boundary names and cutting lines: borough" von dem Pflaster, um die Puzzleteile wieder zu trennen:
-
Settlement area completed
-
Puzzle pieces separated again
Ein weiterer Fehler ist dieses fehlende Waldstück:
Der Grund liegt im derzeitigen Verhalten des Programms, dass alle inneren Grenzen einer Relation (hier: 2093213 2093213) als Löcher angesehen werden und für die nachfolgende Darstellung als Fläche gesperrt sind. Das fehlende Waldstück (hier: Arboretum I
Arboretum I) ist aber gleichzeitig innere Grenze im Wald als auch ein eigenes Waldgebiet (Die Arboreten). Um den Fehler manuell zu beheben, schließe das Loch und führe dann noch einmal die Funktion "Menü: File - Map editing - Cut into pieces" aus.
-
Forest area completed
-
Puzzle pieces separated again
Vereinfachen des Drucks durch Verschließen von Löchern
Das Verschließen von kleinen Löchern kann den Druck vereinfachen. Ein Beispiel sind kleine Lichtungen im Wald: wenn das Waldstück hoch ist, muss die Lichtung mit einer hohen Säule in der unterlagerten Farbe gefüllt werden. Eine hohe und schmale Säule kann beim Druck oder beim Zusammensetzen leicht brechen.
Hier werden nun auf dieselbe Art wie oben zwei Löcher im Wald verschlossen:
- Die Lichtung auf dem Berggipfel wird von einem Symbol verdeckt und ist ohnehin nicht sichtbar.
- Die kleine Siedlungsfläche wird nun direkt auf das Waldstück gesetzt und nicht mehr auf eine durch das Waldstück hindurchragende Säule in der darunter liegenden Farbe. Nach diesem Schritt darf "Simplify map" nicht mehr ausgeführt werden, sonst wird der Wald von der Siedlungsfläche wieder zerschnitten.
Ausdrucken der Landkarte
STL-Daten der Karte erzeugen
Die Bearbeitung der Karte ist nun abgeschlossen. Dies ist das Ergebnis:
Führe nun die Funktion "Menü: File - Create map STL files" aus (Dauer hier: 9:53 min). Zunächst werden die Oberseiten aller Teile berechnet. Während dem anschließenden Hinzufügen der Unterseiten lässt sich der Fortschritt der Berechnung anhand von 3D-Ansichten nachverfolgen. Nach Abschluss sollte das Fenster mit der Gesamtansicht der Karte noch nicht geschlossen werden, weil dort im letzten Schritt auch der Rahmen hinzugefügt wird.
Im Projektverzeichnis werden gespeichert:
- Eine automatische Sicherung des Projekts mit dem Namen "HD - before create map STL files - v1.0.0 ...".
- Die Textdatei "HD - map2stl summary.txt" mit Informationen zur Landkarte. Daraus lässt sich eine Bestellliste und eine Checkliste für den Druck erzeugen.
Im Unterverzeichnis "STL " werden gespeichert:
- Eine Gesamtansicht mit dem Namen " HD - map topview ...", die als Puzzlevorlage dienen kann.
- Die STL-Dateien sortiert nach Kachelnummer und Farbnummer sowie Vorschaubilder als jpg und als MATLAB figure. Die Unterseiten der einzelnen Teile in einer Datei wurden alle auf die Höhe 0mm abgesenkt, damit sich die Teile ohne Stützen drucken lassen.
- Ansichten jeder Kachel mit allen Objekten und eine Gesamtansicht aller Kacheln (bei mehr als einer Kachel).
Im Unterverzeichnis "STL_repaired" werden die STL-Dateien gespeichert, die zusätzlich von einem in der App enthaltenen Reparaturalgorithmus bearbeitet wurden. Wenn eine Reparatur nicht erfolgreich war, bekommt der Dateinamen den Zusatz "... - to be repaired.stl". Eine Reparatur muss dann mit einem externen Programm erfolgen, zum Beispiel mit Prusa Slicer.
Bemerkung: Die MATLAB Figures lassen sich mit "Menü: View - Open figure file (.fig)" nachträglich zur genaueren Betrachtung öffnen.
Du solltest nun die STL-Dateien oder die Vorschaubilder auf mögliche schwer zu druckende Teile hin kontrollieren.
STL-Daten des Rahmens erzeugen
Führe die Funktion "Menü: File - Create frame STL files" aus. Zunächst werden die Parameter des Rahmens abgefragt, um bei Änderungen nicht immer die Projektparameter-Datei neu laden zu müssen. Die Bedeutung der Parameter ist in der Datei "MapLab3D_ProjectParameters_1_0_x_Reference.xlsx" mit einer Skizze veranschaulicht:
Der Wert d2=12mm bedeutet, dass die zwei Kacheln von oben und der Rahmen von unten auf eine 12mm starke Grundplatte geklebt werden sollen. Wenn die Karte aus nur einer Kachel besteht, ist eine Grundplatte nicht erforderlich und d2 lässt sich auch auf 0mm setzen (dann sollte auch h1 angepasst werden). Eine starke Grundplatte hat allerdings auch bei nur einer Kachel den Vorteil, dass sich leicht ein Befestigungshaken anschrauben lässt.
Mit dem Wert h2 wird die Rahmenhöhe eingestellt. Die beste Einstellung hängt von der Geländehöhe ab und muss durch Ausprobieren ermittelt werden.
Die Rahmenbreite b2 darf hier maximal 20mm betragen, weil die Rahmenteile sonst zu groß für den Drucker werden könnten ("Maximum object size").
Mit den Werten r1h, r1v, r2h und r2v lassen sich die Radien der inneren und äußeren oberen Kanten einstellen.
Mit Drücken von OK werden die STL-Daten des Rahmens erstellt und der Rahmen der Gesamtansicht der Karte hinzugefügt oder in der Gesamtansicht abgeändert. Durch Ausprobieren werden hier die folgenden Werte gewählt:
-
Frame dimensions dialog box
-
Frame cross section
Trage zum Schluss die geänderten Parameter des Rahmens zur Dokumentation in der Projektparameter-Datei ein.
Dies ist die nach den Funktionen "Create map STL files" und "Create frame STL files" erzeugte Vorschau der Landkarte:
STL-Daten drucken
Zur Vorbereitung des Drucks werden die folgenden Schritte empfohlen:
- Überprüfe noch einmal alle STL-Dateien auf möglichen Probleme beim Druck, um noch rechtzeitig Korrekturen machen zu können.
- Lösche alle nicht benötigten Speicherstände des Projekts, da sie viel Speicherplatz belegen können.
- Wenn in dem Unterverzeichnis "STL_repaired" Dateien den Zusatz " - to be repaired.stl" im Dateinamen haben, sollten sie jetzt repariert werden, zum Beispiel mit Prusa Slicer.
- Öffne die Datei "HD - map2stl summary.txt" und kopiere den Inhalt in das Tabellenblatt "map2stl summary" der Projektparameter-Datei. Kopiere dann den Bereich unter "Files sorted by color:" in das Tabellenblatt "checklist". Die Dateinamen für die Rahmenteile müssen schließlich noch manuell eingetragen werden.
- Erstelle mit der Slicer-Software deines Druckers von jeder reparierten STL-Datei den Maschinencode:
- Öffne die STL-Dateien einzeln und starte das Slicing. Die hier verwendeten Parameter für einen FDM-Drucker (Fused Deposition Modeling) sind:
- Düsendurchmesser 0,4 mm
- Schichthöhe 0,2 mm
- Infill 15%
- Stützstrukturen sind nicht erforderlich.
- Trage die Abmessungen, das berechnete Gewicht und die Druckdauer in die Checkliste ein. Kontrolliere dabei, dass die Gesamtabmessungen nicht größer als die "Maximum object size" sind (hier: 204mm x 184mm). Ist dies der Fall, können einzelne Teile verschoben oder auf mehrere Dateien aufgeteilt werden.
- Speichere den Maschinencode und zusätzlich auch die bearbeiteten STL-Dateien ab, wenn Du Dein Werk später im Internet hochladen willst.
- Öffne die STL-Dateien einzeln und starte das Slicing. Die hier verwendeten Parameter für einen FDM-Drucker (Fused Deposition Modeling) sind:
- Beschaffe das benötigte Material:
- Filament/Harz: Unterhalb der Checkliste lässt sich durch Eingabe der Farbnummer der Gesamtbedarf dieser Farbe berechnen.
- Grundplatte: Die Abmessungen sollten etwas kleiner gewählt werden als die der Karte, zum Beispiel: 249mm x 129mm x 12mm (Map size 250mm x 130mm siehe "map2stl summary" und Wert d2=12mm des Rahmens)
- Drucke die Checkliste aus, um beim Druck nicht den Überblick zu verlieren.
Drucke nun die Teile aus.
Bemerkung: Bei Verwendung eines FDM-Druckers ist es erfahrungsgemäß sinnvoll, das Druckbett nach ungefähr jedem dritten Druckvorgang mit einem Klebestift zu bestreichen und den Kleber mit einem nassen Lappen gleichmäßig zu verteilen. Damit wird verhindert, dass sich kleine Teile während des Drucks lösen. Für die großen Kachelunterseiten sollte zusätzlich noch Kleber in den Ecken aufgetragen werden, um zu verhindern, dass sich die Ecken vom Druckbett lösen ("warping").
Dies ist eine Ansicht der gedruckten Landkarte:
Nun hast Du einige grundlegende Funktionen der App kennengelernt und kannst mit diesem Wissen eine eigene Karte erstellen.
Veröffentlichung
Vielleicht möchtest Du Dein Werk anderen zum Download zur Verfügung stellen. Dies ist eine Auswahl von Seiten für 3D-Drucker-Vorlagen:
- Thingiverse
- Printables
- Cults. Auf Cults gibt es auch eine eigene Kategorie für Landkarten: MAPS.
Gib bei den Tags den Namen des Programms an, damit leicht nach mit MapLab3D erstellten Landkarten gesucht werden kann:
- maplab3d
Weitere mögliche Tags sind:
- map
- 3D map
- relief map
- topographic map
- relief
- topography
- terrain
- geography
- puzzle
- jigsaw