Solved

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


Badge +5

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 

 

 

 

icon

Best answer by geomancer 8 March 2022, 14:08

View original

15 replies

Userlevel 4
Badge +30

Hi @jamal​ 

 

With the attribute _overlaps is not good for you?

Overlaps 

Thanks in Advance,

Danilo

Userlevel 4
Badge +25

Perhaps you can try the AreaGapAndOverlapCleaner transformer?

Badge +5

 

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 

 

 

 

 

 

 

 

 

 

Userlevel 5
Badge +29

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

Badge +5

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 

 

 

 

 

 

 

Userlevel 4
Badge +36

Take a look at the DonutHoleExtractor.

Badge +5

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

 

Clip_208 

 

Badge +11

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,

Userlevel 4
Badge +36

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

Badge +5

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 

 

 

 

Userlevel 4
Badge +36

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

Userlevel 5
Badge +29

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

Badge +5

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 

 

 

 

Badge +5

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

 

Clip_220

Badge +5

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

Many thanks hkingsbury for the useful input

Reply