Question

Identify almost identical polygon

  • 26 December 2016
  • 4 replies
  • 28 views

Badge

Dear All ,

we are looking for a way to identify almost identical polygon with tolerance of one to three percent in shape and area between two different feature classes .

4 replies

Userlevel 2
Badge +16

Calculate the area of each feature.

Then do an AreaonAreaOverlayer.

Recalculate the area and divide the recalcutated area by the original to get the percentage overlap.

That gives an indication which polygons are almost identical.

Badge +16

Next @erik_jan approach on how to use the area I would add the CircularityCalculator and its resulting attribute to the testing, so ensure the shape is also considered in the comparison.

Userlevel 5
Badge +25

In addition to the suggestions made by @erik_jan and @itay it might be useful, depending on how your source data is constructed to add a Snapper or AnchoredSnapper. If you store the geometry in an attribute beforehand (GeometryExtractor) then perform the snapping you can see which polygons were not snapped, these would have a high likelihood of not matching. Afterwards you can restore the original geometry using a GeometryReplacer.

Badge +3

Area on Area is good beginning.

Comparing area difference is not necessarily so. (an apple with a stem would then be considered equal to one without. unless that is what you want.)

For instance you should check what absolute size 3% really is. A sliding scale the bigger the area the smaller the percentage would help.

Also doing following will yield some information:

Coercing the difference to lines and identify its border by the original object id's.

Then you could segment one and then snap the segments to the other and calculate the length's. Then pass the length's trough a statistic calculator and accept like 5% deviation.

Reply