Map2STL

David Bourne david@boomer.org
Find my other Apps, eBooks and an AppleTV app at https://www.pharmpk.com/MyeBooks.html
Privacy Policy Link

App Icon Map2STL

is a Topographic Data to 3D Printer File Converter. It is a macOS app I wrote, with a little help from Claude, to solve a problem. I had been able to create STL files for 3D printing of small area of the Earth using a free website. It was fun to see these geographic areas reproduced as solid shapes. While writing this application, after downloading latitude/longitude/altitude data for these areas, I have a better appreciation of why the website stopped working. During development I've found that rate limits on downloading data can make producing higher resolution models more challenging.


v1.2.1 Submitted 12 Jul 2026. Approved 13 Jul 2026 Download from the App Store
v1.2 Submitted 9 Jul 2026. Approved
v1.1 Submitted 7 Jul 2026. Approved 8 Jul 2026
v1.0 Submitted 2 July 2026. Approved 7 July 2026


Data Sources

1. Open-Meteo

Elevation data by Open-Meteo.com Global, free, no API Key, Rate limited to 600 requests/minute, 5,000 requests per hour and 10,000 requests per day.

2. United States Geological Survey - Elevation Point Query Service National Maps

U.S. only, recommended for U.S., free, no API Key, high quality

3. Simulated Data Useful for learning the app

Citation & Acknowledgement

Open-Meteo and Copernicus DEM

United States Geological Survey - Elevation Point Query Service National Maps

USGS vs Open-Meteo comparison

 Open-MeteoUSGS EPQS
CoverageGlobalUS only
Resolution~90 m (SRTM3) global
~30 m U.S.
~10 m (3DEP)
Rate limit600 requests/min (free tier)
5,000 requests/hr
No documented rate limit
Avoid DOS with some delay
Best forQuick global overviewHigh-detail US terrain

Rate Limiting Notes

Open-Meteo

25x25 = 625 points so one model at a time should be OK but no more than 8 models per hour.
49x49 = 2,304 points one model at a time and no more than 2 models per hour
69x69 = 4,900 points maximum is 1 per hour, minimum time about 8-10 minutes

USGS

Requesting 25 points per batch with 2 sec per batch to avoid DOS issues. Slow but steady.

Recommended Approach

Start with Simulated Data and then USGS to generate real data unless you want data outside the US, then use Open-Meteo.

For U.S. data use USGS low resolution to explore the area. For final model use higher resolution but it will take time. Maybe limit to one or two per day. The 3D printer isn't going to be much faster.

Sharp Terrain - Pointy Peaks

With limited resolution, i.e. 30 or 90 m, setting a grid to capture a peak can be a challenge. With one main peak in the area of interest it might be best to the use the 'Enter Coordinates' option. Use the lat/lon of the main peak as the center. This should work BUT, the altitude returned is probably an average for the grid square/rectangle around the peak. You might export the standard csv file, search for the peak lat/lon and replace the value with the known elevation for the main peak. You can then import the edited csv file and generate the STL/USDZ file.

With multiple peaks of interest you might try finding the closest lat/lon for each peak and replacing the returned elevation value with the known height.


Basic Process for Converting Topographical Data to a 3D Image

Opening View

Top-Left: Map2STL App Title
Top-Center: Map Type Selection
Top-Right: Settings and Reset Buttons
Middle-Right" Zoom in/out Buttons
Bottom-Center: Select Area or Enter Coordinates. Load CSV data if available

Opening Screen
Settings View

Select Data Source
Open Meteo: Global
USGS EPQS: U.S. Only
Simulated: Not real data
Resolution - Number of Grid Points
    Lower Grid Size is Faster
    for exploring

Setting View
Select Area Instructions

Drag to draw a Rectangle
Option-Drag to draw a Square

Select Area Instructions
Enter Coordinates View

Center Latitude and Longitude
Size in Km. Note min width
Selector for Square (default)
Probably need to adjusts dimensions with
    3D Printer software for non-square shapes

Setting View
View Elevation Data

Map Zooms to Square/Rectangle
Red Dot marks the Center
    Mount Blue Sky
Press View Elevation Data Button
    or Reset or Load CSV data

View Elevation Data
Elevation Data View 1

Description of Data Used
Region Selected Information
Report on suitability of Election Variation
3D Elevation Preview
Check below for spikes
    could be bad data

Elevation Data View 1
Elevation Data View 2

STL and USDZ Settings:
Base Thickness: 2.0 mm good default
Max Height: 50 mm (~2")
Vertical Exaggeration: 1x good default
    Maybe better adjusted with
    3D printer software
Save CSV
Standard CSV: Useful for saving or editing
Grid CSV: Could be used by
    3D display software for visualization
Generate & Save STL file
Generate and Save USDZ File
    both to ~/Downloads Folder

Elevation Data View 2

Editing Elevation Data to Better Represent Geographic Features

After Loading a CSV File

Ask to Edit the Elevation Data
    just Loaded
Yes to Edit

Edit Data?
Edit Peak Elevation 1

Enter the most accurate
    latitude and longitude available
Press 'Find the Nearest Grid Point'
Press 'Done'

Edit Peak Elevation 1
Edit Peak Elevation 2

Nearest Grid Point Displayed
Enter the Best Estimate for the Elevation
Press 'Apply Correction'

Edit Peak Elevation 2
Edit Another Peak?

Yes, for another feature
No, to continue>

Edit Another Peak
Elevation Data with Corrected Value(s)

Review 3D View for errant peaks

Elevation Data with Corrected Value(s)
A 3D Printed Example - Mt Rainier A 3D Printed Example - Mt Rainier