Skip to main content

Hi,

this has been asked a few times, but i have tried all the suggestions with clipper and or donut builder, but cannot seems to get clean polygons, with clippers on the edge.

I cannot get to cut nicely on the edges, with clipper or donut builder, the result is a polygon that SQL Spatial don't like.

it would be great if we had a tolerance on the edges with clipper

Is there possible other ways to get this to work?

I can confirm having had lots of issues like that, in particular when doing reprojections or other operations where vertices can shift a tiny amount.

Often, the solution was to separate the donut hulls and the holes (DonutHoleExtractor) and pass them through the AnchoredSnapper with a tiny tolerance before rebuilding the donuts (DonutBuilder).

If the donut features don't already have a unique id, you can use the Counter to create one before the DonutHoleExtractor, that way you can use it as a Group By on the AnchoredSnapper and the DonutBuilder to avoid interference in case you have partially overlapping donuts.


From FME2018.0 there is a Tolerance parameter available in transformers like the Clipper. It can be set to 'Automatic' or to 'None'. The 'Automatic' was especially developed to solve this kind of issues. Maybe that will help you solve your issues.


From FME2018.0 there is a Tolerance parameter available in transformers like the Clipper. It can be set to 'Automatic' or to 'None'. The 'Automatic' was especially developed to solve this kind of issues. Maybe that will help you solve your issues.

@lars_de_vries, thanks for the update, but 2018, is not on our radar at this moment, but will give a try in our test environment

 

 

We have just migrated to FME Server 2017.1.2 and desktop, and with 400+ work benches running on FME Server in production, it will be a while before we look at 2018, maybe around 2018.1

 

 

As we found going to 2017.1.2, quite a lot of issue migrating from 2014 and 2016. Autocad scripts did not work at all, Quite a lot of ESRI Geodatabase scripts failed/issues, due to not supported with 10.5.1, and not compatible with older sde connection strings

 

 

We would like to solve with 2017.1.2, i think the looking at anchor snapper / with donuthole extractor looks like a solution

 

 

It got it to work more less, with using a combination, of GeometryCoercer, AreaBuilder, Triangulator, Dissolver, but it does not come clean for some polygons on the edge

 


Hi @rudy_v, could the AnchoredSnapper (Snapping Type: Segment Snapping) help you?

Send the exterior polygon to the Anchor port, send the interior polygons to the Candidate port, set "Segment Snapping" to the Snapping Type parameter, and set an appropriate tolerance to the Snapping Tolerance parameter.

Then, with a Clipper, clip the exterior polygon by the interior polygons output from the Snapped port and the Untouched port of the AnchoredSnapper.


Reply