How I made a high-detail 3D printable map of Azores (without the sea)

How I made a high-detail 3D printable map of Azores (without the sea)

I wanted a physical 3D map of the Azores with real mountains and valleys, printed on my Bambu Lab P2S, the goal was maximum detail and no flat sea plate around the islands.

Main tool: TouchTerrain

TouchTerrain is still the best free option for this. You select an area, choose a DEM source, set print size and vertical exaggeration, and it gives you a ready-to-print STL.

Alternatives I looked at:

  • Terrain2STL → simpler but limited to older data
  • PrintPal’s map tools → nicer interface but needs a subscription
  • Manual route → QGIS + DEMto3D (more work)

Getting a clean coastline

The biggest problem was removing the sea. ignore_leq and lower_leq in TouchTerrain were not enough, residual low elevation cells kept appearing as water.

Step 1 – OSM-Boundaries
I used osm-boundaries.com
This site extracts administrative boundaries directly from OpenStreetMap. You can browse countries, regions and islands in an interactive map and download the exact polygon you need. I downloaded the boundary of the Azores as a KML.

Step 2 – Cleaning the KML
The file from OSM-Boundaries didn’t work directly in TouchTerrain (it complained about missing a proper polygon).

I first tried geojson.io. It’s a very useful browser tool for viewing, editing and converting geospatial files (GeoJSON, KML, etc.). You can open a file, inspect the geometry, and re-export it. In theory it’s perfect for cleaning messy KMLs. In my case it still produced a file that TouchTerrain rejected.

Step 3 – Google Earth
What finally worked was opening the KML in Google Earth, copying the polygon into a new clean folder, and saving it again as a simple KML. That version uploaded correctly to TouchTerrain and completely masked the sea.

Dealing with the pixel limit

TouchTerrain has a hard server limit (currently around 700,000 pixels).
When you upload a detailed island polygon and try to use the higher-resolution AW3D30 (30 m) DEM, the request easily goes over the limit, even with only one tile.

That’s why I ended up using the MERIT DEM (90 m). It’s slightly coarser, but it stays under the limit when combined with the coastline polygon.

Final settings that worked

  • DEM: MERIT (90 m)
  • Tiles: 1 by 1
  • Width: 250 mm
  • Nozzle diameter: 0.2 mm
  • Vertical exaggeration: 1.5

Manual settings:text

"sqrt": true

The sqrt: true option applies a square root to the elevations. This boosts the lower areas (coastal zones and valleys) while preventing the highest peaks from becoming excessively tall.

Result

A single clean STL of the Azores with no sea plate, ready to print at 250 mm on the P2S.

If you’re doing any archipelago or coastal area, take the extra time to get a proper coastline polygon. And keep an eye on the pixel limit, higher resolution DEMs + complex polygons often force you to drop to MERIT or split into more tiles.