Richmond Lidar

As I mentioned in a previous post, I’ve been interested in creating maps with 3D data lately. I made a map of downtown Richmond from lidar data before, but I decided that I want to make a large rendering of the data to potentially use as a basemap for future projects. It took a little work (and over 60 hours of rendering time in Blender!), but I was able to make a pretty cool Lidar shaded relief.

I made a little Leaflet application to display the lidar data.  You can take a look at it by clicking here.  Be sure to check out the 4 overlays by clicking the layer button on the top right.  You can view the plain lidar data as well as OpenStreetMap, VGIN Land Cover, and a 19th Century map as overlays.

Go to Map Viewing App


Here are a couple highlights:

I like the way that the diamond turned out.


You can really make out the valley in Forest Hill Park


I’m not happy with how dark the shadows are downtown. I’m going to have to fix that when I find the time…



The Data

I downloaded the lidar data from the USGS National Map.  The land cover data was from VGIN’s GIS Clearinghouse.  The OpenStreetMap layer is obviously from OpenStreetMap and I downloaded the 19th Century Richmond map from the Library of Congress.

The Method

The challenge I faced when creating this map was figuring out how to render such a massive high-resolution DEM in Blender without having my computer blow up.  I found that my computer can only handle a DEM of around 2000x2000px before sometimes crashing. I had to split the source DEM into overlapping squares (229 total), render each square in Blender (that took a couple days), then stitch them back together.  Luckily doing all of that was pretty easy with my friend Python.  I would like to write a tutorial that would act as a Python companion to Daniel Huffman’s blender shaded relief tutorial, but it turns out that grad school is pretty time consuming!   That’ll have to wait for a break in the future.


Thanks for taking a look!

Comments 2

  • Hi Daniel,

    This looks very impressive. Any tips on getting the LIDAR data into blender? Did you convert the lidar data to a heightmap first (through e.g. QGIS) or do you use another method?


    • Thanks Sander! I converted the lidar data to raster in python using Whitebox Tools. Specifically the function I used was lidar_idw_interpolation(). The users manual is well written and helpful, especially the Processing LiDAR Data section, but you can also find a tutorial [here]. I had to play around with the resolution, radius, and weight parameters to find an output with high detail, but low noise.

Leave a Reply

Your email address will not be published. Required fields are marked *