Skip to main content
Question

Extract roofs from multipatch feature


alfons
Contributor
Forum|alt.badge.img+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

virtualcitymatt
Celebrity
Forum|alt.badge.img+42

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

daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • April 2, 2020

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.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings