Skip to main content
Solved

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

  • March 3, 2022
  • 15 replies
  • 340 views

jamal
Forum|alt.badge.img+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 

 

 

 

Best answer by geomancer

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

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

15 replies

danilo_fme
Celebrity
Forum|alt.badge.img+51
  • Celebrity
  • 2077 replies
  • March 4, 2022

Hi @jamal​ 

 

With the attribute _overlaps is not good for you?

Overlaps 

Thanks in Advance,

Danilo


mark2atsafe
Safer
Forum|alt.badge.img+56
  • Safer
  • 2554 replies
  • March 4, 2022

Perhaps you can try the AreaGapAndOverlapCleaner transformer?


jamal
Forum|alt.badge.img+5
  • Author
  • 342 replies
  • March 4, 2022

 

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 

 

 

 

 

 

 

 

 

 


hkingsbury
Celebrity
Forum|alt.badge.img+63
  • Celebrity
  • 1620 replies
  • March 7, 2022

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


jamal
Forum|alt.badge.img+5
  • Author
  • 342 replies
  • March 8, 2022

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 

 

 

 

 

 

 


geomancer
Evangelist
Forum|alt.badge.img+58
  • Evangelist
  • 932 replies
  • March 8, 2022

Take a look at the DonutHoleExtractor.


jamal
Forum|alt.badge.img+5
  • Author
  • 342 replies
  • March 8, 2022

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

 

Clip_208 

 


juanmahere
Supporter
Forum|alt.badge.img+13
  • Supporter
  • 47 replies
  • March 8, 2022

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,


geomancer
Evangelist
Forum|alt.badge.img+58
  • Evangelist
  • 932 replies
  • March 8, 2022

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


jamal
Forum|alt.badge.img+5
  • Author
  • 342 replies
  • March 8, 2022

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 

 

 

 


geomancer
Evangelist
Forum|alt.badge.img+58
  • Evangelist
  • 932 replies
  • Best Answer
  • March 8, 2022

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


hkingsbury
Celebrity
Forum|alt.badge.img+63
  • Celebrity
  • 1620 replies
  • March 8, 2022

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


jamal
Forum|alt.badge.img+5
  • Author
  • 342 replies
  • March 8, 2022

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 

 

 

 


jamal
Forum|alt.badge.img+5
  • Author
  • 342 replies
  • March 8, 2022

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

 

Clip_220


jamal
Forum|alt.badge.img+5
  • Author
  • 342 replies
  • March 9, 2022

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

Many thanks hkingsbury for the useful input