Skip to main content
Question

Extract roofs from multipatch feature

  • April 2, 2020
  • 2 replies
  • 104 views

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.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

2 replies

virtualcitymatt
Celebrity
Forum|alt.badge.img+47

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
  • 1637 replies
  • 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.