I’ve been working on a utility called shp2stl that converts geographic data in shapefiles to 3D models, suitable for 3D printing. The code is published as a NodeJS package, available on npm and GitHub.
You can control the height of each shape by specifying an attribute of your data to use. Each shape will be placed along the z-axis based on the shape’s value relative to the max range in the data. Additionally, if you want more detailed control you can specify a function to use to extrude each shape.
Examples
South Napa Earthquake
Here’s an example using the recent South Napa earthquake, first as the source shapefile:
Then converted to a 3D model using shp2stl:
And finally printed with a 3D printer: