Skip to main content
Solved

AreaGapAndOverlapCleaner - how to produce list of issues found

  • April 24, 2019
  • 5 replies
  • 35 views

Forum|alt.badge.img+1

Dear FMExperts,

I am using the AreaGapAndOverlapCleaner transformer to find geometric issues within a polygon dataset. I can output a list of all the features affected, but what I would really like to achieve is to produce a list of each instance where a geometric error has been discovered, what the issue is, plus the coordinates for the location.

So something like this for each found error:

FEATURE_IDISSUEXY123Gap123654244440124Gap123887249486124Overlap6454772757154

 

TIA,

R

Best answer by daveatsafe

Hi @robinb,

You can send both the initial and AreaGapAndOverlapCleaner output polygons into an AreaOnAreaOverlayer transformer. Enable Generate List, then choose FEATURE_ID for the attribute to add to the list.

Any overlayer output polygons with only 1 for the _overlap value will be a filled in gap. You can use Tester to extract these, then an AreaCalculator to get the gap area and a CenterPointExtractor to get the coordinates of a point inside the filled gap polygon.

Any output with more than 2 for the _overlap value will be an overlap in the original data. If you just want a single output for each overlap, you can just measure the area and extract a location like you did for the gaps. If you want an error for each polygon in the overlap, please use a ListExploder to create a copy for each list entry, then a DuplicateFilter to remove the duplicate IDs from the gap cleaned polygons.

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.

5 replies

danilo_fme
Celebrity
Forum|alt.badge.img+51
  • Celebrity
  • 2077 replies
  • April 25, 2019

Hi @robinb

 

Could you share us a amount of Reader to try to simulate this?

 

Thanks,

Danilo


Forum|alt.badge.img+1
  • Author
  • 13 replies
  • April 26, 2019

Hi @danilo_fme

Do you mean provide a sample of the input data for the workbench? If so, it is confidential client data but I could mock up an example of this.

Thanks,

Robin


danilo_fme
Celebrity
Forum|alt.badge.img+51
  • Celebrity
  • 2077 replies
  • April 26, 2019

Hi @danilo_fme

Do you mean provide a sample of the input data for the workbench? If so, it is confidential client data but I could mock up an example of this.

Thanks,

Robin

Hi @robinb

Not problem!

 

Could you provide a example?

 

Thanks,

Danilo

 


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • Best Answer
  • April 26, 2019

Hi @robinb,

You can send both the initial and AreaGapAndOverlapCleaner output polygons into an AreaOnAreaOverlayer transformer. Enable Generate List, then choose FEATURE_ID for the attribute to add to the list.

Any overlayer output polygons with only 1 for the _overlap value will be a filled in gap. You can use Tester to extract these, then an AreaCalculator to get the gap area and a CenterPointExtractor to get the coordinates of a point inside the filled gap polygon.

Any output with more than 2 for the _overlap value will be an overlap in the original data. If you just want a single output for each overlap, you can just measure the area and extract a location like you did for the gaps. If you want an error for each polygon in the overlap, please use a ListExploder to create a copy for each list entry, then a DuplicateFilter to remove the duplicate IDs from the gap cleaned polygons.


Forum|alt.badge.img+1
  • Author
  • 13 replies
  • April 26, 2019

Hi @robinb,

You can send both the initial and AreaGapAndOverlapCleaner output polygons into an AreaOnAreaOverlayer transformer. Enable Generate List, then choose FEATURE_ID for the attribute to add to the list.

Any overlayer output polygons with only 1 for the _overlap value will be a filled in gap. You can use Tester to extract these, then an AreaCalculator to get the gap area and a CenterPointExtractor to get the coordinates of a point inside the filled gap polygon.

Any output with more than 2 for the _overlap value will be an overlap in the original data. If you just want a single output for each overlap, you can just measure the area and extract a location like you did for the gaps. If you want an error for each polygon in the overlap, please use a ListExploder to create a copy for each list entry, then a DuplicateFilter to remove the duplicate IDs from the gap cleaned polygons.

Wonderful Dave, that's just what I need. Thanks, Robin