3D Printed US Population Map





Introduction: 3D Printed US Population Map

About: I like to make things for the internets. I also sell a pretty cool calendar at supamoto.co. You'll like it.

The United States is a big place and it's hard to have a feeling for where all of the people live. There are hundreds of millions of people after all. So many Americans.

To get a better grasp of this I made a 3D map of the US based on the population density of each county. The more people per square mile, the taller it gets.

Then, to actually feel it, I printed the whole thing up on my 3D printer. Here's how that came to be.

Step 1: Get the Data

This part was easy. The Census data for 2010 is readily available here. You can get all sorts of information, but all I need for this project are two bits of data per county: it's county code and its population density.

The map in the image here is from the Census site, but I couldn't use it so easily with the color scale and the state lines. It also breaks the counties into just 6 groups. I'm starting from CSV data instead.

Step 2: Get a Map

Thanks to the hard work of other people this part is easy as well. Just go here to get an SVG file. Each county is identified with its county code.

Step 3: Convert Population Densities

The final system for the image will only allow a scale from 0 to 255. I still need to have a floor that isn't zero, so the final scale turns out to be from 5 to 255.

What I could do is make the whole thing a linear scale with the max population value convert to 255 and the lowest convert to 5.

The problem with this is New York City. With a density of 66,940 people per square mile (!!!) it blows away the rest of the values and would push many of the counties farther down the scale. So instead I capped the value at 20,409 people per square mile, the value of Queens.

Finally, these numbers are converted to hexadecimal. "FF" here is 255.

You can see the full spreadsheet here.

Step 4: Convert Values to CSS

With a bit more spreadsheet magic, each of these hexadecimal values can be converted to CSS. The values are repeated so that the number can be assigned to the RGB values.

Step 5: Apply CSS to SVG

This very dark image is the result. To make it easier to see the second image is a brighter version with more contrast.

I added a 1 pixel blur with CSS. This was to smooth out the borders so the that final shapes are more rounded.

Alaska and Hawaii are in here, but I edited them out since the continental 48 would be enough to get a feeling here.

You can try it yourself here. If you made changes and want to see the results, replace the contents of counties.css with the last column from the previous spreadsheet.

Step 6: Convert to STL in Fusion 360

For this step, I followed the instructions in JON-A-TRON's Turn a 2D Image Into a 3D Model instructable.

I stopped at step 6 there since the file was large and my computer kept stalling out trying to do the T-Spline conversion.

Step 7: Crop and Stretch

The STL is almost there. There's still the bounding rectangle on the bottom and the heights could be exaggerated. So I used Meshmixer to drop the rectangle, shrink the total size down, and increase the height to 4x.

Step 8: Print It Out

I wanted a slightly faster print time so I dropped a bit more of the bottom of the file and printed it out in PLA. Once again, NYC is a problem with that super tall and skinny spike. I've had OK success with printing it so far.

In the future I might separate NYC from the rest so that I can print it sideways and just glue it on afterwards.

Untouchable Challenge

Runner Up in the
Untouchable Challenge



    • Clocks Contest

      Clocks Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Water Contest

      Water Contest

    25 Discussions

    You could also take and make a tower next to NY so that the printer head travels away from it and allows it to cool between layers.


    1 year ago

    I think it would much more easy if we just use a black and white map with population stated as different shades of white and black and then simply being that image to cuts and ask it to give height to white or black accordingly and then give little touch ups to the model by hand

    3 replies

    Here you are manipulating data then adding that to a new map what I am saying is to use a map already color coded in a particular color shades then converting it to black and white in photoshop then just dumping the file to a photo to 3d converter software..... Even cura worked for me

    This limits you to other maps that already exist. Those have greater limitations in terms of gradations of color. This way you can get a far larger range of heights for better information display.


    1 year ago

    This is nice! At the first glance it looked like some arctic area with sparse fir growth here and there. :)

    Thats a brilliant way to view population .1000 times more understandable

    6 replies

    Not knocking it for what it is and looks cool, just recognize it has it's own limitations for trying to present the real population spread accurately..

    Nit Picking . Its a practical demonstrative way of informing me of the population density. Very good in fact best I have ever seen and thats in 60 years , so there!

    Actually it's about as misleading as anything else. Because of height, it's really only a good representation of the high density population centers. NYC with it's overwhelming height displaces in ways it shouldn't, the areal flat spread population isn't represented well in this map in comparison. Some of those 'near empty' looking states have significant population, it's just spread out and doesn't make much in the way of peaks. The shift between area and height for population with this map would make almost everyone have a lot of errors trying to read it accurately.. NY is roughly 19 million, NC is roughly 10 million, so more than half of NY. But almost no one would judge that correctly with NYC towering over in NY..

    Given the resolution of the model and my own printer's capabilities, being able to represent the denser population centers is pretty great.

    Unless you reproduce this map with much higher resolution, skip the blurring, and then print it out HUGE, preferably in color, it's going to be very difficult to be accurate enough to give that sense you're asking about. Probably the best bet is to do it virtually with a 3D model you can move around.

    For some unreasonable reason I expected to see a concave dip in the Midwest . Yes, even if it's 1 person per square mile it's still populated. Maybe if there was a 'floor' (average) in the calculation and anything underneath that figure would be considered a negative and be reflected in a dip. I'm thinking outloud here.

    If only the native Americans had put up a fence on the east coast ... hahaha

    Now if we could just figure out how to shape the vertical populations representations into an iconic landmark associated with that particular city!

    2 replies

    that's a clever idea. Empire State Building.. Golden Gate Bridge. Hollywood sign?

    Cool model. Thanks for sharing your technique. Did you think about making the z scale logarithmic? It could improve your representaiton.

    1 reply

    Also, thanks for reminding me. I've now linked the spreadsheet and repo so it's easier to try it out on your own.