Generating a 3D city model
[UNDER CONSTRUCTION]
Introduction
This article provides an outline of the different workflows that can be used to generate a 3D city model.
Background
The following background concepts are useful for understanding and creating 3D city models.
Level of Detail (LoD)
There are 5 main levels of detail used to distinguish the geometric detail of buildings in a 3D city model (according to the CityGML standard):
- LoD0: 2D building footprint
- LoD1: block model, created by extruding a building footprint to a single height (i.e. all buildings have flat roofs)
- LoD2: simple model including generalised roof shapes
- LoD3: detailed architectural model for the exterior of the building (e.g. including windows, doors, chimneys and other facade details)
- LoD4: detailed architectural model for both the interior and exterior of the building (currently not used in practice)
Semantics
3D city models can include semantics. This means that the main objects in the model are labelled with their meaning (e.g. "building", "road", "city furniture") and any number of attributes. Attributes for a building could include properties such as building height, owner, address. Furthermore, the sub-parts of each object can also be labelled with their meaning and be assigned attributes. For example, each building could be further decomposed into its separate components, labelled as "wall surface", "roof surface", etc (as shown in the figure below).
File formats
It is useful to be familiar with common file formats encountered while creating a 3D city model.
- Input vector data (read natively by QGIS) - GPKG, SHP, GeoJSON
- Input point cloud data - LAS, LAZ (compressed format), PLY
- Output data - OBJ, DXF, CityJSON, CityGML
Workflows
LoD1 models
Workflow 1 - GIS based
- Software requirements: QGIS, Rhino
This workflow is recommended for quick and easy visualisation. It focuses on using Dutch public datasets and consists of the following steps:
- Obtaining data using QGIS (from public datasets in the Netherlands)
- Calculating building height from 3D BAG
- QGIS to Rhino
- Building extrusion in Rhino
- Using Enscape with Rhino (for visualisation in VR)
Workflow 2 - CAD based
- Software requirements: QGIS, Rhino, Grasshopper
This workflow is recommended for accurate representation of geometries and consists of the following steps:
- Obtaining data using QGIS (from public datasets in the Netherlands)
- Processing steps in QGIS
- Processing steps in Grasshopper
- Processing steps in Rhino
Workflow 3 - programming based
- Software requirements: QGIS, Python
This workflow is recommended for [...] and consists of the following steps:
- Obtaining data using QGIS
- Obtaining data
LoD2 models
[UNDER CONSTRUCTION]
Useful links
https://3d.bk.tudelft.nl/courses/geo1004/les/6.1/
https://www.cityjson.org/
References
Biljecki, Filip & Ledoux, Hugo & Stoter, Jantien. (2016). An improved LOD specification for 3D building models. Computers Environment and Urban Systems. 59. 25-37. 10.1016/j.compenvurbsys.2016.04.005.
Ledoux, Hugo. (2020). Semantic 3D city models [PDF file]. Retrieved from https://3d.bk.tudelft.nl/courses/geo1004/les/6.1/