Figure 1.
The four LoDs available in the CityGML 3.0 standard
Figure 1.
The four LoDs available in the CityGML 3.0 standard
Figure 2.
The 16 LoDs proposed by Biljecki et al. [
6]
Figure 2.
The 16 LoDs proposed by Biljecki et al. [
6]
Figure 3.
The elements relevant for the different abstraction methods. Low geometric dependent abstraction uses the vertices of the model (not shown). a) Mid geometric dependent abstraction uses the roofing structure. b) High geometric dependent abstraction uses the geometry at horizontal internals. c) Very high geometric dependent abstraction uses the complete outer shell. d) Interior geometric dependent abstraction uses the IfcSpace objects.
Figure 3.
The elements relevant for the different abstraction methods. Low geometric dependent abstraction uses the vertices of the model (not shown). a) Mid geometric dependent abstraction uses the roofing structure. b) High geometric dependent abstraction uses the geometry at horizontal internals. c) Very high geometric dependent abstraction uses the complete outer shell. d) Interior geometric dependent abstraction uses the IfcSpace objects.
Figure 4.
Flowchart to show the relationships of the different steps in the process (simplified). Non-standard LoD are shown in gray. Optional connections based on the desired output refinement are shown in dashed lines.
Figure 4.
Flowchart to show the relationships of the different steps in the process (simplified). Non-standard LoD are shown in gray. Optional connections based on the desired output refinement are shown in dashed lines.
Figure 5.
Simplification by bounding box creation. a) A complex
IfcDoor object. b) The resulting bounding box that is used to replace the
IfcDoor geometry. Image from [
22].
Figure 5.
Simplification by bounding box creation. a) A complex
IfcDoor object. b) The resulting bounding box that is used to replace the
IfcDoor geometry. Image from [
22].
Figure 6.
Selectively applying subtractive shapes in an
IfcWall object. a) A wall with subtractive objects. b) The objects encapsulated by these subtractive objects. The gray void has no nested objects while the blue void has a nested
IfcWindow object. c) Only the subtractive objects with no internal objects is applied, resulting in the simplified wall geometry. Image from [
22].
Figure 6.
Selectively applying subtractive shapes in an
IfcWall object. a) A wall with subtractive objects. b) The objects encapsulated by these subtractive objects. The gray void has no nested objects while the blue void has a nested
IfcWindow object. c) Only the subtractive objects with no internal objects is applied, resulting in the simplified wall geometry. Image from [
22].
Figure 7.
Column voxelisation. a) Starting IFC model. b) Full voxel grid. c) Top slice of voxels from which the growing is started. d) Elongated columns that are grown up until they hit geometry. e) An isolated voxel with the wireframe of the geometry it intersects with highlighted. f) The isolated geometry of the model that intersects with the voxel columns. Note that from c) onward the outer ring of columns has been hidden for clarity.
Figure 7.
Column voxelisation. a) Starting IFC model. b) Full voxel grid. c) Top slice of voxels from which the growing is started. d) Elongated columns that are grown up until they hit geometry. e) An isolated voxel with the wireframe of the geometry it intersects with highlighted. f) The isolated geometry of the model that intersects with the voxel columns. Note that from c) onward the outer ring of columns has been hidden for clarity.
Figure 8.
Surface filtering and ray casting to isolate the surfaces that are part of the roof structure. a) The surface collection from the column voxelisation. b) The surfaces are filtered by eliminating the surfaces with normal . c) The surfaces are filtered by eliminating similar faces. d) and e) An isolated situation of the ray casting process of the two viewer facing roof surfaces. The top surface in d) has at least one non intersecting ray (solid colour arrow). The bottom surface in e) has no non intersecting ray (dotted arrow). f) Final result.
Figure 8.
Surface filtering and ray casting to isolate the surfaces that are part of the roof structure. a) The surface collection from the column voxelisation. b) The surfaces are filtered by eliminating the surfaces with normal . c) The surfaces are filtered by eliminating similar faces. d) and e) An isolated situation of the ray casting process of the two viewer facing roof surfaces. The top surface in d) has at least one non intersecting ray (solid colour arrow). The bottom surface in e) has no non intersecting ray (dotted arrow). f) Final result.
Figure 9.
The steps of the LoD0.3 roof abstraction. a) The model used. b) The fine filtered roof surfaces (3 groups) that were isolated with the help of column voxelisation and ray casting. c) These groups are flattened. d) The surfaces are extruded to ground floor level and each original un-extruded surface is split with the extruded shapes that intersect it. e) The split surfaces are filtered with the help of a ray casting process, solid arrows do not intersect, dotted ones do. f) The resulting LoD0.3 surfaces.
Figure 9.
The steps of the LoD0.3 roof abstraction. a) The model used. b) The fine filtered roof surfaces (3 groups) that were isolated with the help of column voxelisation and ray casting. c) These groups are flattened. d) The surfaces are extruded to ground floor level and each original un-extruded surface is split with the extruded shapes that intersect it. e) The split surfaces are filtered with the help of a ray casting process, solid arrows do not intersect, dotted ones do. f) The resulting LoD0.3 surfaces.
Figure 10.
The difference between roof structure based LoD2.2 creation (top row) and footprint based LoD2.2 creation (bottom row). The first column shows the input geometry required. The second column shows the faces used for downward extrusion in red. It can be seen that some surfaces are not used for footprint based extraction (in white) these are parts of the roof surfaces that extend over the footprint. The final column shows the resulting shapes.
Figure 10.
The difference between roof structure based LoD2.2 creation (top row) and footprint based LoD2.2 creation (bottom row). The first column shows the input geometry required. The second column shows the faces used for downward extrusion in red. It can be seen that some surfaces are not used for footprint based extraction (in white) these are parts of the roof surfaces that extend over the footprint. The final column shows the resulting shapes.
Figure 11.
The steps of LoD3.2 abstraction. a) Displays the starting situation after the IfcClass filtering and complex shape simplification. b) The objects that are close to the exterior of the building model are isolated by using the intersecting voxels that neighbour an exterior void voxel. c) The completely inner surfaces are filtered out by voxel assisted ray casting. d) The surfaces are split and again filtered out by voxel assisted ray casting
Figure 11.
The steps of LoD3.2 abstraction. a) Displays the starting situation after the IfcClass filtering and complex shape simplification. b) The objects that are close to the exterior of the building model are isolated by using the intersecting voxels that neighbour an exterior void voxel. c) The completely inner surfaces are filtered out by voxel assisted ray casting. d) The surfaces are split and again filtered out by voxel assisted ray casting
Figure 12.
a) The window/door structure of the main entrance of the digital HUB model (its windows highlighted in blue) is modelled as an IfcCurtainWall where the windows are IfcPlate class objects. b) The model is modelled by a German party, so relying on the material name which is expected to be Englishwould not function.
Figure 12.
a) The window/door structure of the main entrance of the digital HUB model (its windows highlighted in blue) is modelled as an IfcCurtainWall where the windows are IfcPlate class objects. b) The model is modelled by a German party, so relying on the material name which is expected to be Englishwould not function.
Figure 13.
Comparison between the IFC interior space objects (b) and the CityJSON interior space objects (c) of the FZK_haus model (a). Aside from the surface types the geometric shape of the IFC spaces and CityJSON spaces are identical.
Figure 13.
Comparison between the IFC interior space objects (b) and the CityJSON interior space objects (c) of the FZK_haus model (a). Aside from the surface types the geometric shape of the IFC spaces and CityJSON spaces are identical.
Figure 14.
The steps that are taken for the ceiling detection. a) The starting shapes are the IfcSpace objects b) For a more clear visual one room is isolated. c) The vertical faces are discarded. d) A ray is cast from the surface the test for intersection. e) The surfaces from which a non-intersecting ray is cast are collected, these are the surfaces representing the ceiling structure.
Figure 14.
The steps that are taken for the ceiling detection. a) The starting shapes are the IfcSpace objects b) For a more clear visual one room is isolated. c) The vertical faces are discarded. d) A ray is cast from the surface the test for intersection. e) The surfaces from which a non-intersecting ray is cast are collected, these are the surfaces representing the ceiling structure.
Figure 15.
The different models that are used to evaluate the performance of the developed methods. a) AC20-FZK-Haus model, b) AC20-Institute-Var-2, c) FM_ARC_DigitalHub, d) Demo_Lisbon_2025, e) Demo_Lisbon_2025, f) Demo_Ascoli Piceno_v2. The figures representing these models are not to the same scale.
Figure 15.
The different models that are used to evaluate the performance of the developed methods. a) AC20-FZK-Haus model, b) AC20-Institute-Var-2, c) FM_ARC_DigitalHub, d) Demo_Lisbon_2025, e) Demo_Lisbon_2025, f) Demo_Ascoli Piceno_v2. The figures representing these models are not to the same scale.
Figure 16.
A section of the LoD3.2 abstraction of the AC20-FZK-Haus model that shows some of the incorrectly trimmed surfaces at the round window.
Figure 16.
A section of the LoD3.2 abstraction of the AC20-FZK-Haus model that shows some of the incorrectly trimmed surfaces at the round window.
Table 1.
The five levels of geometry dependence of the different LoD abstractions. *Non-standard LoD
Table 1.
The five levels of geometry dependence of the different LoD abstractions. *Non-standard LoD
| level |
output |
based on BIM model’s |
| low |
LoD0.0 and LoD1.0 exterior |
vertices |
| mid |
LoD0.2, 0.3, and 0.4* roof |
roof geometry |
| |
LoD1.2, 1.3 and 2.2 exterior |
| high |
LoD0.2 and 0.3 storeys |
selective outer shell |
| very high |
LoD3.2 exterior |
complete outer shell |
| interior |
LoD0.2, 1.2, 2.2, and 3.2 interior |
IfcSpaces |
Table 2.
Summary of the models used to test performance.
Table 2.
Summary of the models used to test performance.
| File name |
Source |
IFC version |
Object |
Storeys |
size |
| |
|
|
count |
|
(m,m,m) |
| AC20-FZK-Haus |
IAI/KIT |
IFC4 |
102 |
2 |
15.0, 13.0, 6.5 |
| AC20-Institute-Var-2 |
IAI/KIT |
IFC4 |
896 |
5 |
64.4, 42.2, 15.4 |
| FM_ARC_DigitalHub |
RWTH Aachen |
IFC4 |
775 |
3 |
64.3, 35.6, 12.1 |
| PRAHA_GO_V5 |
CHEK |
IFC4 |
3588 |
7 |
91.4, 61.2, 26.1 |
| Demo_Lisbon_2025 |
CHEK |
IFC4 |
591 |
7 |
33.3, 11.4, 19.4 |
| Demo_Ascoli Piceno_v2 |
CHEK |
IFC4 |
3040 |
8 |
61.6, 57.7, 22.1 |
Table 3.
The success rate of the exterior shell extraction. *Output differs per execution.
Table 3.
The success rate of the exterior shell extraction. *Output differs per execution.
| File name |
LoD0.0 |
LoD0.2 |
LoD0.3 |
LoD0.4 |
LoD1.0 |
LoD1.2 |
LoD1.3 |
LoD2.2 |
LoD3.2 |
| AC20-FZK-Haus |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0.5 |
| AC20-Institute-Var-2 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| FM_ARC_DigitalHub |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0.5 |
| PRAHA_GO_V5 |
1 |
1 |
1 |
0–1* |
1 |
1 |
1 |
0.5–1* |
0 |
| Demo_Lisbon_2025 |
1 |
1 |
1 |
1 |
1 |
1 |
0.5 |
0.5 |
0.5 |
| Demo_Ascoli Piceno_v2 |
1 |
1 |
1 |
1 |
1 |
1 |
0.5 |
0.5 |
0 |
Table 4.
The success rate of the footprint restricted exterior shell extraction.
Table 4.
The success rate of the footprint restricted exterior shell extraction.
| File name |
LoD1.2 |
LoD1.3 |
LoD2.2 |
| AC20-FZK-Haus |
1 |
1 |
1 |
| AC20-Institute-Var-2 |
1 |
1 |
1 |
| FM_ARC_DigitalHub |
1 |
1 |
1 |
| PRAHA_GO_V5 |
1 |
1 |
0.5 |
| Demo_Lisbon_2025 |
1 |
1 |
0.5 |
| Demo_Ascoli Piceno_v2 |
1 |
0.5 |
0.5 |
Table 5.
Comparison of the file size of the 1:1 OBJ conversion, the combined output GIS file and the output GIS file containing LoD3.2 only to the input IFC file. All the files contain both interior and exterior abstractions. *This output file contains LoD0.0, 0.2, 0.3, 0.4, 1.0, 1.2, 1.3, 2.2, and 3.2.
Table 5.
Comparison of the file size of the 1:1 OBJ conversion, the combined output GIS file and the output GIS file containing LoD3.2 only to the input IFC file. All the files contain both interior and exterior abstractions. *This output file contains LoD0.0, 0.2, 0.3, 0.4, 1.0, 1.2, 1.3, 2.2, and 3.2.
| File name |
OBJ file size |
CityJSON |
CityJSON LoD3.2 |
| |
(%) |
file size* (%) |
file size (%) |
| AC20-FZK-Haus |
14.43 |
0.43 |
0.39 |
| AC20-Institute-Var-2 |
39.63 |
8.71 |
8.06 |
| FM_ARC_DigitalHub |
303.70 |
1.35 |
0.78 |
| PRAHA_GO_V5 |
3 751.33 |
7.77 |
7.11 |
| Demo_Lisbon_2025 |
548.52 |
1.26 |
0.65 |
| Demo_Ascoli Piceno_v2 |
800.52 |
4.82 |
2.19 |
| Average |
909.69 |
4.05 |
3.20 |
Table 6.
Comparison of the number of triangles compared to the 1:1 OBJ representation of the exterior geometry in the IFC file. Note that this table is in per-thousand/per-mille and not percentages. *Faulty abstractions ().
Table 6.
Comparison of the number of triangles compared to the 1:1 OBJ representation of the exterior geometry in the IFC file. Note that this table is in per-thousand/per-mille and not percentages. *Faulty abstractions ().
| |
Triangle count per-1000 (‰)
|
| File name |
LoD0.2 |
LoD0.3 |
LoD0.4 |
LoD1.2 |
LoD1.3 |
LoD2.2 |
LoD3.2 |
| AC20-FZK-Haus |
0.19 |
0.19 |
0.27 |
0.56 |
0.56 |
0.74 |
65.53 |
| AC20-Institute-Var-2 |
0.47 |
0.42 |
1.27 |
1.04 |
1.23 |
3.49 |
85.35 |
| FM_ARC_DigitalHub |
0.09 |
1.25 |
1.25 |
1.04 |
2.39 |
2.39 |
9.45 |
| PRAHA_GO_V5 |
0.04 |
0.22 |
0.43 |
0.04 |
0.43 |
0.68 |
3.27* |
| Demo_Lisbon_2025 |
0.17 |
0.72 |
1.01 |
0.22 |
1.02 |
3.23 |
6.54 |
| Demo_Ascoli Piceno_v2 |
0.26 |
0.40 |
1.53 |
0.15 |
0.54 |
6.77 |
37.82* |
| Average |
0.20 |
0.53 |
0.96 |
0.34 |
1.03 |
2.71 |
34.66 |
Table 7.
The effect of the complex shape simplification functions on the final triangle count. The full LoD3.2 has no complex shape simplification applied, the normal LoD3.2 has only bounding box simplification applied, the simple LoD3.2 has bounding box and selective void simplification applied. This is just comparing the geometry. LoD3.2 is the outer shell only. *Faulty abstractions ().
Table 7.
The effect of the complex shape simplification functions on the final triangle count. The full LoD3.2 has no complex shape simplification applied, the normal LoD3.2 has only bounding box simplification applied, the simple LoD3.2 has bounding box and selective void simplification applied. This is just comparing the geometry. LoD3.2 is the outer shell only. *Faulty abstractions ().
| |
Full |
Normal |
Simple |
| File name |
LoD3.2 (%) |
LoD3.2 (%) |
LoD3.2 (%) |
| AC20-FZK-Haus |
17.45* |
6.55 |
0.61 |
| AC20-Institute-Var-2 |
24.42 |
8.53 |
0.76 |
| FM_ARC_DigitalHub |
-* |
0.95 |
0.30 |
| PRAHA_GO_V5 |
4.54* |
0.33* |
0.33* |
| Demo_Lisbon_2025 |
23.45* |
0.68 |
0.68 |
| Demo_Ascoli Piceno_v2 |
77.92* |
3.78* |
3.67* |