Skip to main content
Solved

About the AreaGapAndOverlapCleaner

  • April 25, 2018
  • 3 replies
  • 33 views

Forum|alt.badge.img

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.

Best answer by daveatsafe

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.

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.

3 replies

daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • 1637 replies
  • April 25, 2018

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.


Forum|alt.badge.img
  • Author
  • 56 replies
  • April 26, 2018

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.

 

 


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

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.