A better processing strategy might be to NOT use the terrain height at the representative_point of a building; as the height of the Building CityObject vertices (corners).
While flatter terrain and a course resolution DTM will give satisfactory results; as the gradient and resolution increases the product will become less true.
The example below demonstrates how NOT assigning one height value to both the building corners and the terrain ---at the corners--- affect the product.
Building vertices / terrain vertices same height
Building vertices / terrain vertices different height
Notice how the terrain jumps from the ground to the foundation of the Building CityObject.
Here the Building foundation is lower which reflects reality better.
The roof height will still be harvested from the representative_point. The building height calculation will not change.
How the building connects to the terrain will. The Building CityObject will now sit at the lowest height; for that Object. The foundation will be lower.
This means some parts of a building can at times be below the terrain surface ---which is generally the case for structures built on a slope.
A better processing strategy might be to NOT use the terrain height at the representative_point of a building; as the height of the Building CityObject vertices (corners).
While flatter terrain and a course resolution DTM will give satisfactory results; as the gradient and resolution increases the product will become less true.
The example below demonstrates how NOT assigning one height value to both the building corners and the terrain ---at the corners--- affect the product.
The roof height will still be harvested from the representative_point. The building height calculation will not change.
How the building connects to the terrain will. The Building CityObject will now sit at the lowest height; for that Object. The foundation will be lower.
This means some parts of a building can at times be below the terrain surface ---which is generally the case for structures built on a slope.
Is this a good idea?