Showing posts with label Terrain. Show all posts
Showing posts with label Terrain. Show all posts

Saturday, July 19, 2025

3D Modeling Streets and Terrain

I previously wrote about a couple of websites that allow you to create STL models of Earth’s surface: Terrain2STL and TouchTerrain. I recently discovered another website that allows you to create 3D models of both terrain and streets: Map2Model.

While Terrain2STL and TouchTerrain focus on generating 3D models of terrain, Map2Model is focused on generating 3D models of “typical” map features such as roads, buildings, water, and other features.

Start by searching for an address or a named location, then zoom in/out and center the map where you’d like to generate your 3D model. Choose a shape for your model: rectangle, square, circle, etc. Then position and size your shape on the map and press the “3D Preview” button to view, zoom, and rotate your 3D model. If happy with your model, export it in either 3MF or STL format.


For roads, water, grass, buildings, sand, and piers, there are settings that allow you to modify colors, model height, and other options which are useful if exporting in 3MF (but will not be represented in STL files because those file represent only geometry data). There are experimental features such as adding topography (similar to the terrain-focused 3D modeling websites) which in my experience with a few locations works pretty well.

Resultant models can be used for personal use, but for commercial use you’ll need to obtain a commercial license. Many thanks to Smoggy3D for developing such a nifty application!

Sunday, July 7, 2024

3D Modeling Earth’s Surface


Have you ever wanted to create a 3D model of a specific section of earth’s surface? I heard that it could be done using topographic data from the U.S. Geological Survey (USGS). So I asked ChatGPT to tell me step by step how to convert USGS topographic data into a 3D model in .stl format (see thread here). In response, ChatGPT told me that I need to:
  1. Download USGS topographic data
  2. Preprocess the data using GDAL to convert to ASCII Grid
  3. Convert ASCII Grid to a 3D mesh using QGIS and the DEMto3D plugin
  4. Optionally refine the 3D model in MeshLab
  5. Save the final model in STL format

That sounded complex to me, as it involves applications and file formats that I have not previously worked with. Fortunately, I discovered that there is a much easier and faster way to get 3D models in .stl format. Simply use a website that provides this specific service. Here are 2 options:

Terrain2STL is a website that allows you to create .stl models of the surface of Earth. Its interface is pretty straightforward. You can zoom/drag to a location using Google Maps which defaults to Terrain View. You can also enter GPS coordinates (refer to this post for a refresher). Next, enter details about the width, height, and other details related to the dimensions of your desired model. Then adjust settings related to water and base height and finally export your model in .stl format. Terrain2STL has the advantage of its simplicity, but its main disadvantage is its resolution which is limited to 90 meters. Here is a screenshot of Terrain2STL (click to enlarge):


TouchTerrain is another website that allows you to create 3D printable terrain models. Similar to Terrain2STL, TouchTerrain allows you to zoom/drag to a location using Google Maps, but TouchTerrain also allows you to search for a place by its name, address, or GPS coordinates which can be very useful. TouchTerrain also allows you to choose from 3 different elevation data sources, each of which has varying resolution ranging from 10 to 2000 meters, depending on its purpose. For me the default USGS data source with 10 meter resolution produced a model with the level of detail that I was looking for. It also has inputs for 3D printer settings such as your build plate dimensions to help you determine the maximum size of your model. After inputting the relevant settings, generate and download your .stl model. Here is a screenshot of TouchTerrain (click to enlarge):


After you get your desired model from either Terrain2STL, TouchTerrain, or another method, you’ll be ready to slice and 3D print your model.