Skip to main content

FME Desktop 2022: How to identify gaps between the polygons of same layer?

 

In the screenshot below, I have a layer that has 6 polygons. It’s easy to identify the overlaps between these polygons with the “AreaOnArea” tool but how gaps can be identified?

 

 

Clip_151 

 

 

 

Hi @jamal​ 

 

With the attribute _overlaps is not good for you?

Overlaps 

Thanks in Advance,

Danilo


Perhaps you can try the AreaGapAndOverlapCleaner transformer?


 

1)    The “AreaOnAreaOverlayer” tool doesn’t catch the gaps

2)    The “AreaGapAndOverlapCleaner” tool doesn’t identify the gaps\\overlap but rather resolve

 

Is there a tool that can identify the gaps\\overlaps?

 

Clip_162 

Clip_163 

Clip_164 

 

 

 

 

 

 

 

 

 


If you're looking for gaps, use the AreaGapAndOverlapCleaner, then use the repaired output as clippees and your original geom as the clipper. The Outside port will have the gap geometries

image.pngimage


Thank you for the help.

My issue here is to identify the gaps and overlaps BUT not to resolve them

Of course, overlaps can be easily identified, but i couldn't figure out who to do so for gaps.

is this still be possible?

Sample data and workbench are attached

 

Clip_204 

 

Clip_205 

 

Clip_206 

 

 

 

 

 

 


Take a look at the DonutHoleExtractor.


I used the "aggregator" tool (based on the autocad_hatch field) then the "DonutHoleExtractor" but fails to identify the gaps

 

Clip_208 

 


Hi @jamal​ ,

Not sure if you solved this question. I've tried some sort of solution, and here is my output:

gaps identified 

In total there are up to 20 gaps between your 6 geometries.

Here is the workflow:

FME workbench 

Let me know if you have any doubts,

Keep talking,

Juanma,


I used the "aggregator" tool (based on the autocad_hatch field) then the "DonutHoleExtractor" but fails to identify the gaps

 

Clip_208 

 

Use a Dissolver instead of an Aggregator.

Gaps_and_overlaps


Use a Dissolver instead of an Aggregator.

Gaps_and_overlaps

That's great. However, in my case, gaps need to be indentified between all polygons considering a certain tolerance (say 55 meter).

Then how to catch the indicate gab below as the tolerance is less than 55 meter

The data is attached

 

Clip_212 

Clip_213 

 

 

 


Use a Dissolver instead of an Aggregator.

Gaps_and_overlaps

Take the results of the Outershell port of the DonutHoleExtractor, buffer by your favorite tolerance, perform an AreaOnAreaOverlayer, keep only the features with _overlaps >= 2, clip with the results of the Outershell port of the DonutHoleExtractor, and keep only the results of the Outside port.

Gaps_and_overlaps_2


Thank you for the help.

My issue here is to identify the gaps and overlaps BUT not to resolve them

Of course, overlaps can be easily identified, but i couldn't figure out who to do so for gaps.

is this still be possible?

Sample data and workbench are attached

 

Clip_204 

 

Clip_205 

 

Clip_206 

 

 

 

 

 

 

The solution I posted outputs the gaps on the Outside port on the Clipper


Thank you very much geomancer for the help. It works perfectly

 

My thanks are extended to Juanma for the other approach provided

 

Clip_218 

 

Clip_219 

 

 

 


I applied it on the k22.dwg and it works fine

 

Clip_220


The solution I posted outputs the gaps on the Outside port on the Clipper

Many thanks hkingsbury for the useful input


Reply