Solved

About the AreaGapAndOverlapCleaner

  • 25 April 2018
  • 3 replies
  • 2 views

Badge

Hello,

I have some questions about the AreaGapAndOverlapCleaner transformer.

In the documentation, it's written that the ''Tolerance is : The minimum distance between geometries in 2D before they are considered equal"

  • How this distance is calculated between 2 polygones?
  • If set to automatic, what does it mean that ''a tolerance will be estimated based on machine precision at the location of the input geometries."

Thank you.

icon

Best answer by daveatsafe 26 April 2018, 18:29

View original

3 replies

Userlevel 2
Badge +17

Hi @lianaolianov,

The distance will be calculated between the boundary lines of the polygons.

The automatic tolerance is set at a value that will avoid floating point precision error on the feature coordinates. This is normally a very, very small distance.

Badge

Hi @lianaolianov,

The distance will be calculated between the boundary lines of the polygons.

The automatic tolerance is set at a value that will avoid floating point precision error on the feature coordinates. This is normally a very, very small distance.

Thank you for the informations.

 

Can you please tell me how works the algorithm of distance calcul ? I need to know exactly how it works so as I can set the correct values of tolerance beaucause I am working with some topographic data of high precision.

 

Thank you.

 

 

Userlevel 2
Badge +17

Hi @lianaolianov,

The algorithm is the same as that used in the Snapper:

- Snaps vertices of lines together if their distances are within the specified tolerance.

- Snaps vertices of segments to other segments if their distances are within the specified tolerance at any point along the segment. New vertices will be introduced to the segment where the new snapped vertex has been moved to.

- Segments which cross other segments will have new vertices introduced at the point of intersection

- If a segment and a point are both within tolerance, the transformer will snap to a vertex in preference to a segment, even when the segment is closer.

The data cleaning tolerance is meant to improve the robustness of the results when they are used in other algorithms by ensuring that no two vertices in the snapped output are within tolerance of each other.

Reply