NYC Building Data - 3d Models
July 28, 2020
Did you know, that the NYC Dept. of Information Technology and Telecommunications produced a 3d model of all the buildings in New York City? I did. But it has taken some time to figure out how to use it. It’s a lot of data and requires some significant processing to be able to do anything fun with it. And by fun, I mean make stunning renders such as this:
The basic workflow involves:
- Downloading almost a gigabyte of CityGML files
- Converting the CityGML to CityJSON using CityGML-Tools
- Converting the CityJSON files to
objformat using cjio
- Cleaning up the meshes using MeshLab
- Importing the cleaned up meshes into Blender
- Tweaking the rendering setting for hours to be able to handle nearly 1 million vertices.
(There are certainly other methods that I tried, but this list represents the most flexible and robust method I’ve found so far.)
After working through all these steps, we can begin to make some images. I like to incorporate the non-photorealistic rendering engine Freestyle in most of these works. Obviously services like Google Maps have image textures with their 3d buildings, so you can see every little tree and doorway and facade, - that’s not what we’re going for here. I want a more abstract view of the city. I find the imagination has more room to wander when there is less detail to focus on.
First light on the models looks something like this. Just a bunch of little boxes.
Who doesn’t like a little Depth of Field? We can simulate a camera lens and set some focal points and f-stop values to give the image little more depth, and highlight a subject. In this case the Empire State Building.
Next up we want to work on extracting all the edge lines. This is what the Freestyle render engine does. (Though, it doesn’t do it very quickly so you’ll need some muscle to wrangle something like this)
Then we can merge these two images using the compositor features and we start to get some interesting images.
Finally, we can play with all the various mixing parameters and eventually produce something like the following:
There’s a lot more one can do. We can play with the line rendering and make some more ‘sketchy’ styled renders.
Here are a few of my favorites so far.
Of course, I’d rather be able to hoist a chair on a roof somewhere and bring a pad and pencil and sketch these out by hand, but that’s a tad less feasible these days.
Notes: All images on the page are CC BY-NC, Please credit James Hedberg if you reuse for non-commercial use. For any other inquires please contact.