Skip to main content

Hello everyone,

I am converting CAD data to CityGML. To create the LoD2 class of buildings with hierarchical integrity, I used GeometryCoercer to transform the extruded solids into surfaces, followed by the Deaggregator, separating the roofs, walls and grounds.

I tried to use SurfaceOnSurfaceOverlayer to identify shared walls between buildings but the transformer is not identifying all the cases. When I set the tolerance, it identify more cases but it ends up disturbing the geometry of the surfaces, generating non-flat surfaces, with duplicate points, etc ... all verified by GeometryValidator and by CityGML validation tools like Val3dity.

As you can see in the prints, a case of shared surface is identified (Surface 1 and 2) and another one with the same characteristics (Surface 3 and 4) no.

As I used the vertical direction in the Extruder and have the same X and Y coordinates, they should be coplanar- I also used the PlanarityFilter before the process and the value of the _surfaceNormalX and Y module practically the same, differing only in the 16th decimal place.

I need to identify the shared surfaces to assign two parent_id to those surfaces, reducing the redundancy of geometries in the final output file using xlink_href.

Could someone indicate to me actions or alternative ways that could solve this issue?

Thanks in advance for your attention.

 

 

 

 

 

Hi mamaieron! Thanks for bringing this to our attention. The SurfaceOnSurfaceOverlayer has been improved in FME 2020.2 to recognize the shared parts you pointed out. You can download a beta with the fix at https://www.safe.com/support/downloads/#beta.


Hi mamaieron! Thanks for bringing this to our attention. The SurfaceOnSurfaceOverlayer has been improved in FME 2020.2 to recognize the shared parts you pointed out. You can download a beta with the fix at https://www.safe.com/support/downloads/#beta.

Hi @keithatsafe,

 

thanks for replying. It is much more efficient now. Congratulations to Safe's support for the excellent work!

Reply