3D buildings

It’s possible to extract building shapes from high quality lidar data: the Netherlands and Switzerland have made LOD2.2 buildings available, and there’s a Blender importer for the Netherlands buildings.

This works by separating the buildings (roofs) from the environment, detecting planar surfaces then extrude them down to ground level. LOD2.2 (or 3.0?) would logically be the best what can be achieved using aerial lidar but it’s interesting urban planners are already looking further. TUDelft is at the forefront of this research and has made available a number of tools.

This can be especially useful for buildings at a distance that can be roughly & quicky textured, but also as a base shape for buildings close to the road. City3D was used for Bourg-de-Thizy in JCRR’s Thizy but this tool is rather complicated. Fortunately Geoflow3D is now a much easier and faster alternative:

Prerequisites:

  • The latest Geoflow-bundle: just download and install
  • Lidar data:
    • in .las of .laz format
    • At least 8 points per m²
    • Classified, with at least ground (2) and building (6) classes. Most data available doesn’t have buildings classified separately but as long as ground is classified you can re-assign unclassified (1) points as building (see LAStools info). In places where trees are hanging over roofs more cleanup will be needed, if these are not classifed as vegetation.
    • Coordinate system must be set in the data. If not you’ll see an error like “WARNING: no payload for LASF_Projection VLR with record_id 2112.” To fix this: add coordinate information (without reprojecting) – see LAStools info.
  • Building footprints:
    • Often made available by agencies offering high quality lidar data
    • Must be in GeoPackage (.gpkg) format. If provided as .geojson, just load & export in QGIS (double-check coordinate system)
    • Check in QGIS if footprints are well aligned with the lidar data. Building shapes are cut out of the lidar data by the footprints, if they don’t align well buildings shapes will suffer.
    • In QGIS check the attribute table of the .gpkg file by right-clicking layer > Open Attribute Table. If it contains only 1 field “fid” Geoflow will not work for some reason; just add a dummy field by (1) toggle edit mode, (2) add new field, (3) save edits as in screenshot.
    • In case no footprint data is available tools exist to create them but I haven’t tried this. For a small number of buildings drawing the outlines in QGIS could be done quicky.

In the folder containing above files: run command geof reconstruct.json \ –input_footprint=myfile.gpkg \ –input_pointcloud=myfile.laz

If all goes well an output subfolder will be created containing the file model_lod22.obj with the building shapes. Depending on the complexity of the building and viewing distance more or less cleanup will be needed. A number of parameters can be tuned in function of the source data – see documentation.

In Blender start by selecting all geometry in edit mode with X-Ray enabled > X > limited dissolve

Below a few pics of buildings extracted from Belgian lidar data with an orthopic draped over.