How to 3D Print a Map of Anywhere in the World
Posted on Aug. 27, 2013 by Roy Smith - Guest Contributor
Roy (aka "The SmithBot") presents us with a hands-on guide to turning your neighborhood, city, state, or favorite National Park into a 3D printable relief map.

A few months ago my friend Barney said, “Can you print Thousand Palms Canyon?”  

I knew what he meant: all the hills and gulleys and landscape features we’re familiar with. “No,” I said. “That’s impossible.” But the idea kept bugging me. Why not? So I did what any of you would do in the middle of a sleepless night: I went online. Huh! Not impossible, but maybe a little bit tricky. Below are the step-by-step instructions.

Author's Note: I’m using Photoshop and 3DS Max on a PC to edit files and export them to my MakerBot Replicator 2, so this procedure might be different for you if you’re using other software. I bet it will be similar enough for this info to be useful, though.

1. Download and install Google Earth.

2. Download and install MicroDEM - a free application available through the U.S. Naval Academy website.  Install involves two steps - download and run the installer first, then replace the executable with the latest version (available as a separate download).

3. Download and install the srtm4.1 plugin for Google Earth (Note: clicking on this link may automatically download the srtm4.1 plugin, depending on your browser).

 

A. Selecting a topographic region in Google Earth


4. In Google Earth, the SRTM4.1 will appear under “My Places” in the navigation on the left. Click on the small “Elevation” square, and a grid of boxes should appear on the globe image (Image “A”);

5. Click on one of the boxes that includes topography you want to print;

B. Topographic data - download options


6. A window will appear (You might need to scroll down). Click on the link as in Image “B”;

C. Topographic data - the direct download url


7. The auto-download probably won’t work, so copy the url as suggested, and paste it into your browser, as shown in Image “C.” This download may take a few minutes;

8. Unzip the downloaded archive. The only file you need is the .asc file. Put it somewhere you can find it easily. Toss the rest;

9. You need to use  MicroDEM to interpret the altitude data. (Don’t try using any of the other “helpful” tools on the Internet to open this kind of file – some of them are nasty viruses!);

10. In MicroDEM, go to File>Open>Open DEM and locate your file;

D. Using MicroDEM to preview your topographic data


11. Here’s the tricky part: You probably have no idea what you’re looking at. No highways, no names of cities, no identifiers of any kind! So you’ll need to reference back-and-forth with some other map to narrow down the area you want to print. When you figure out which part of the map you want to zoom in on, use the “Subset & zoom” tool (dotted border) from upper left to lower right to zoom in (Image “D”);

12. Right-click on the map and choose “Legends/marginalia,” and make sure none of the boxes is selected (don't forget to remove the gridlines);

E. Exporting topographic data in greyscale


13. Right-click again, select Display parameter>Elevation>Gray scale. This is the image you will use in your 3D program to create a displacement map in order to print your topographical 3D model (Image “E”);

14. Select File>Save image, and choose whatever image format works best in your 3D program (I use jpeg);

F. Checking the image size in Photoshop


15. Quit out of MicroDEM and open Photoshop or whatever image-editing program you use. Open the file you just saved. Check to determine image size, and jot it down. Mine happened to be 860x650 pixels. That means, when I create a plane object in 3DS Max it will be, like, 8.6in x 6.5in or 860mm x 650mm or whatever units you prefer (Image “F”). Close the file;

Editor's Note: If you don't have Photoshop there are plenty of other options for checking the dimensions of an image.  In Windows Explorer single-clicking a picture file will display the dimensions in the info panel at the bottom of the window.

G. Creating a plane in 3D Studio Max


16. Open your 3D program, create a plane with similar dimensions (You might need to switch width for length), and give that plane LOTS of segments, like, 430x325. I divided dimensions in half (Image “G”);

H. Creating a displacement map from your grayscale elevation image


17. In 3DS Max (or whatever you’re using), select the plane, go to the Modifier List, scroll down to “Displace,” and add your grayscale map to create the terrain you want. Adjust “strength” to exaggerate the height of the mountains however you prefer. Problem is, a plane has only two dimensions, so you can’t print it with a 3D printer no matter how many mountains it has (Image "H");

Editor's Note: If you don't have access to 3D Studio Max, fear not!  Using Roy's instructions as a general guideline we completed these steps with Blender (a free 3D editing tool).  

J. Converting your plane into a 3D printable object


18. Convert the plane to an Editable Poly, select only the outermost vertices (“select border” in 3DS Max), and drag them all down pretty far on the Z axis till they’re clear of everything else. Then “Make Planar” on “Z,” which should line up all the vertices you selected to have equal “Z” values. With that border still selected, click on “Cap.” That completes a 3D printable object (Image “J”);

19. Move the bottom “cap” up near to the lowest point of your topography, but not too close, or you risk breaking your printed map when you pry it off your build surface at the end of this process;

20. Select your topo map object and export it as a StereoLitho (STL) file;

K. Topographic map imported into MakerWare


21. Open MakerWare, MatterControl, or whatever you’re using to drive your printer, and add your STL object, scaling it to fit your print bed comfortably (Image “K”);

L. The final product - a 3D printed topographic map


22. Print it! This will take a long time to print. My map took almost four hours, but the detail is amazing. This printed object is only about 4.75in x 3.5in (Image “L”).

This may look like a long, difficult process, but it’s actually pretty straightforward if you follow every step to the letter. Believe me: It will be a lot easier for you to go through these steps than it was for me to figure them out.

If you find any mistakes in this article, please point them out, and I’ll do my best to fix them.

Good printing!

Roy Smith
The Smithbot

31 Comments

It looks kind of hairy

uhuh - August 29th, 2013 at 12:12p.m.

@uhuh - There are some pretty technical aspects so it is definitely not for the faint of heart, but once you get the hang of the tools involved it is very repeatable.

If you try it out and run into problems just post your question here - we'll attempt to improve the instructions over time.

kevin.pope [Moderator] - August 29th, 2013 at 12:19p.m.

Yes, I mean there's hairs on it.

uhuh - August 30th, 2013 at 9:37a.m.

Hahaha - I'm pretty sure those are filament strands.

Update: New photo shows the final product with a tiny bit of clean-up

kevin.pope [Moderator] - August 31st, 2013 at 8:47a.m.

Hi, can you describe step by step the proces in blender? Thanks!

pimpom - September 2nd, 2013 at 7:49a.m.

@pimpom Yes, we will work on describing the process in blender.

kevin.pope [Moderator] - September 3rd, 2013 at 9:23p.m.

I'm wondering how tree coverage would impact the ability to map different areas. For instance, if an area has dense tree coverage, how is Google Earth getting these measurements?

Alex - October 19th, 2013 at 12:47p.m.

I'm having some trouble getting from step 4 to step 5, where I can't figure out how to "click" on one of the boxes. Any input as to how you get to the topographic data download section would be greatly appreciated!

Thanks!
Alex

Alex - October 19th, 2013 at 12:59p.m.

@Alex

To be a little more clear - in order to select a topographic data set you'll want to 'fly' to the area you want an look for a label called 'Data for: srtm_xx_xx', clicking on the icon near that label will pop up the dialog in figure b.

There are some methods of gathering topographic that ignore tree coverage - such as Airborne Laser Scanning (aka lidar). Not sure if that was part of the collection method for this particular data set though.

kevin.pope [Moderator] - October 19th, 2013 at 1:42p.m.

Hello. I'm having a bit of an issue. I was able to download everything and open up Google Earth, but when I click on the elevation box for SRTM4.1, no white boxes appear and I'm not sure how to proceed. Is there a setting that would be hiding them?
Thanks!

heolson - December 4th, 2013 at 5:41a.m.

I'm not aware of any settings that would hide the data. The grid squares are fairly large so if you are zoomed in you may not see them. Here is a picture of what it should look like with the plugin installed:

Google Maps with overlay

kevin.pope [Moderator] - December 6th, 2013 at 2:33p.m.

The same thing is happening to me. No white lines appear when I click on the "elevation" setting. I've pulled out, zoomed in: nothing. I can't select anything.

Christian Probasco - December 6th, 2013 at 6:19p.m.

What model/size 3d printer did you use?

Guest - December 23rd, 2013 at 8:43a.m.

It was the Airwolf3D XL

cselph [Moderator] - December 24th, 2013 at 11:28a.m.

I am also not able to see any squares, i zoomed in to the exactly same spot and size as the comment of kevin.pope but i don't see anything.
I just donwloaded it and i am using version 7.1.2.2041. I don't know if it has to do anything with it but maybe it is because of an update in google maps? or am I doing something wrong? I hope someone knows a solution i so want this maps printed ;)

Thanks for help and this topic is so nice thanks for sharing this!

Guest/Roeland22896 - December 26th, 2013 at 2:00p.m.

Ok i noticed something hope that will help a bit more to find the problem.
you have the "lamp" symbol on the elevation map and yours is green in the picture but and mine is orange, i tried to right click and then click on refresh, is moves a few times (now it is grey) from left to right and then it stand still in the middle and goes back to orange.

Guest/Roeland22896 - December 26th, 2013 at 2:06p.m.

If i click propreties, then this is the link i get:
http://srtm.geog.kcl.ac.uk/portal/srtm41/elevation.kmz
Box is selected from allow settings to be expanded
Box is empty from Show content as option
In description there is nothing
In view everything is on NA and date/time is NONE
I don't know what refresh was (played a while but nono of the settings changed anything) but box was empty from fly to vieuw refresh.

Sorry for these 3 fast commments but just wanted to give some more information.

Guest/Roeland22896 - December 26th, 2013 at 2:12p.m.

Interesting, could be that the plug in isn't compatible with the new version of Google Earth. I will download a fresh copy and give it a try.

kevin.pope [Moderator] - December 29th, 2013 at 1:03p.m.

I could not get the grid to show up either for 7.1.xxx version (latest). I downloaded the older 7.0.xxx version and now it works...FYI

Guest/Mitch Frankel - December 31st, 2013 at 12:08p.m.

^^^ I was wrong, the grids that appear for version 7.0.xxx were not for elevation data. I cannot get srtm4.1 to work for any version of Google earth 32-bit Windows 7 OS.

Guest/Mitch Frankel - December 31st, 2013 at 12:13p.m.

I was able to get a greyscale heightmap image from microdem using data from the srtm website (http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp), import the plane into blender, and displace the plane so that my topo is visible. I now have a 2D map and have not been able to figure out how to make a 3D solid to export to stl (using Blender). Any help in doing steps 18-20 above in Blender would be greatly appreciated.

Guest/Mitch Frankel - December 31st, 2013 at 2:20p.m.

Sorry for so many posts - Use this tutorial for Blender (see comments for extruding the plane) - http://johnflower.org/tutorial/make-mountains-blender-height-maps. Between that tutorial and this one, I've gotten an awesome 3D print of the Wasatch!

Guest/Mitch Frankel - December 31st, 2013 at 2:44p.m.

I HAVE THE SAME PROBLEM AS Guest/Roeland22896 ANYONE GOT AN ANSWER?

SUZ - March 6th, 2014 at 6:59a.m.

There appears to currently be a problem with the servers that provide the SRTM data to google earth, so the plugin does not currently function (see the upper left part of this page: http://geodata.policysupport.org/srtm: "Status Technical problems. Servers being rebuilt.")

Your best bet is probably what Mitch Frankel suggested... get the data (without using google earth) from http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp

Guest - April 22nd, 2014 at 10:32a.m.

I'm doing this for French alps, using the data from CGIAR as in the hint above. I can make a nice map, and even extrude it. But I can't do step 18 to make a flat base for 3D printing. Can someone offer me a noobie walkthrough for step 18 above, but in Blender?

Big J - June 16th, 2014 at 11:05p.m.

Thanks for the tutorial. I have a question, I'm working with a jpg of a map, it's not greyscale, it's red and blue shading. How can I convert that to a 3d displacement map in Maya or Sketchup?

Thanks.

T - June 21st, 2014 at 10:57a.m.

Cheer Roy!

Every step has been perfect, absolutely perfect.
Worked out well, I ended up using Blender for the Displacement, then 3DS Max for the base forming. The SRTM Google plugin is still giving me issues though, but hopefully i'll fix that soon.

Best Regards,
Andrew

Andrew - August 10th, 2014 at 6:49p.m.

I can't get the SRTM4.1 plug-in to work. It shows up under my temporary places but when selected, no boxes show up. Any ideas?

Thanks,

Danno - December 22nd, 2014 at 12:58p.m.

In my google earth,i downloaded d plugin and when i clicked on eleavation no lines are coming in ? please help
Thanks

Aniruddh - December 23rd, 2014 at 11:39p.m.

hello, I really like your piece, can I buy your files and print it out?

Guest - December 25th, 2014 at 6:22p.m.

Since none of the elevation urls seem to work anymore. I found a site that you can select an SRTM tile without Google Earth and all of the related plugins. http://dwtkns.com/srtm/

Shawn - January 4th, 2015 at 10:55a.m.

Related Articles