Hi limo, I'm not sure what causes this behaviour. Have you tried tweaking the parameters of the SurfaceOnSurfaceOverlayer?
A possible solution (yet, not ideal) could be something along the lines of: using a SurfaceFootprintReplacer or 2DForcer followed by a Dissolver to get the 2D polygonal area of the buildings. Then, using a GeometryCoercer, you can transform the polygonal features into lines. Buffer these lines slightly, and than Spatially filter your walls with these buffered outer lines: the walls that fall completely within these buffers are your outside walls.
If your input geometry is very clean, this might do the job.
Hi limo, I'm not sure what causes this behaviour. Have you tried tweaking the parameters of the SurfaceOnSurfaceOverlayer?
A possible solution (yet, not ideal) could be something along the lines of: using a SurfaceFootprintReplacer or 2DForcer followed by a Dissolver to get the 2D polygonal area of the buildings. Then, using a GeometryCoercer, you can transform the polygonal features into lines. Buffer these lines slightly, and than Spatially filter your walls with these buffered outer lines: the walls that fall completely within these buffers are your outside walls.
If your input geometry is very clean, this might do the job.
Hi maayke,
yes I tried to play around with the parameters of the SurfaceOnSurfaceOverlayer.
It works really good for me with surface filtered by overlaps<2. But sometimes there is an error like as I already mentioned. So because of this I use overlaps<=2 this works fine for my data. But then I get a lot of internal walls within the building. These are not required!
Using a SpatialFilter as you already mentioned sounds a good idea.
As filter candidate I have set Bufferertyp to solid. Otherwise I have to create a 2D line and 2D Wall surfaces but I need 3D.
If I do afterwards a spatialfilter it says wrong invalid candidate geometry type.
My WallSurface comes from the BRepSolidBoundaryCreator.Beta (geometry: fme_aggregate, compositesurface)