Solved

AreaGapAndOverlapCleaner - how to produce list of issues found


Badge

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

icon

Best answer by daveatsafe 26 April 2019, 15:10

View original

5 replies

Userlevel 4
Badge +30

Hi @robinb

 

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

 

Thanks,

Danilo

Badge

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

Userlevel 4
Badge +30

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

 

Userlevel 2
Badge +17

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.

Badge

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

Reply