Question

Extract roofs from multipatch feature

  • 2 April 2020
  • 2 replies
  • 18 views

Badge +7

Good afternoon,

 

I have a Multipatch Building Data Set (LOD2) (*.GDB). Consisting of wall and roof areas. Since only the roof areas are interesting for my further work, I would like to extract them into a 3D polygon. Unfortunately, there is no attribute that tells me that the polygon is a roof surface or a wall surface. Is there a transformer which separates the corresponding roof area? If this is not possible, my idea would be to calculate the inclination for each polygon and define all polygons with an inclination of ~90° as a wall. For this I would consider the transformer "SlopeCalculator". Is there perhaps a more efficient way to reduce the calculation of the inclination of several million polygons?

Thanks a lot.


2 replies

Userlevel 4
Badge +26

The SlopeCalculator is a good option. The other option would be to extract the SurfaceNormals and use those to figure it out, however, I expect this to be a similar process.

 

There are no specific transformers in FME for detecting a roof vs walls so you're on the right track.

 

Good luck
Userlevel 2
Badge +17

Hi @alfons,

Matt has the right idea - the SlopeCalculator is likely the easiest. However, if you do want to get the surface normal for the faces, you can use the PlanarityFilter transformer, with Expose Surface Normal set to Yes.

Reply