Skip to main content
Solved

Two geometries with different numbers of vertices are equal for ChangeDetector

  • November 22, 2024
  • 8 replies
  • 118 views

jorge_rosales
Contributor
Forum|alt.badge.img+8

One feature has 40 vertices and the other 41, but ChangeDetector using “Lenient Geometry Matching” option says they are the same. It's right?

 

 

Best answer by jorge_rosales

 

As I understand it, the Lenient option states that two polygons are equal if Within(A, B) and Within(B, A). That is, A and B occupy the same space. However, I think that an option is missing that, in addition to checking that they occupy the same space, also checks that they have the same number of vertices even if their order may be different. My problem has arisen when doing topological quality control of a land cover. The additional collinear vertex is necessary because a neighboring polygon has been aplited into two. The incorporation of this (collinear) vertex in the polygon makes it a new version of the polygon that I need to detect. In any case, I think that the documentation for the Lenient option should explain a little better how it works. 

I have suggested and idea to improve the Lenient Geometry Matching behavior and support my use case.

 

View original
Did this help you find an answer to your question?

8 replies

ebygomm
Influencer
Forum|alt.badge.img+32
  • Influencer
  • November 22, 2024

I think i would consider it to be unchanged if using lenient geometry matching if the extra vertex lies exactly on the line as per your example

 

 


jorge_rosales
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • November 22, 2024

It seems that it may be so. The same thing happens with the Matcher transformer. Perhaps the behavior of “Lenient geometry matching” should be clarified in the documentation.

 

 


bwn
Evangelist
Forum|alt.badge.img+26
  • Evangelist
  • November 24, 2024

That is new to me.

I had thought Lenient Geometry would only perhaps go as far as to treat duplicate points (ie. Multiple vertices in a polygon/polyline that where within the Tolerance distance and therefore “duplicate”) on any input feature as being equivalent to a geometry that only had a single vertex at that location (ie. A geometry that had had duplicate vertices removed)

Personally, treating any other extra Vertices that are merely coincident on the edge of the polygon as being equivalent to an edge without the extra vertices is undesirable in virtually all production circumstances,  because you often need to insert these vertices for correct topological relationships and their presence is deliberate.  Treating a polygon without the extra topological vertex on its edge as equivalent, and therefore “Unchanged” would risk creating errors in the topology with adjacent features.

The main use for Lenient Geometry matching is because software like ArcGIS wants to reorder vertices in their features from the original source feature, but treating a coincident vertex on an edge as equivalent to an edge without that vertex is a step too far IMO given how that software similarly depends on vertex-to-vertex topology.

I would support an Idea to change this.


ebygomm
Influencer
Forum|alt.badge.img+32
  • Influencer
  • November 25, 2024

For me personally, lenient geometry matching would say something is unchanged if it is topologically equal, which in this case it is. Using a spatial relator which has no concept of tolerance would report these features as equal as would something like SDE.ST_EQUALS


bayram
Contributor
Forum|alt.badge.img+5
  • Contributor
  • November 25, 2024

 

Yeni olduğum için bazı şeyleri anlayamıyorum:) Bir ağaç modelim var. Ve 193 puanım var. Bu noktaların bir ağaç gibi görünmesini istiyorum. Yardımlarınız için çok teşekkür ederim. Verileri önceden tekrar gönderiyorum.


bayram
Contributor
Forum|alt.badge.img+5
  • Contributor
  • November 25, 2024

obj


bayram
Contributor
Forum|alt.badge.img+5
  • Contributor
  • November 25, 2024

shp


jorge_rosales
Contributor
Forum|alt.badge.img+8
  • Author
  • Contributor
  • Best Answer
  • November 26, 2024

 

As I understand it, the Lenient option states that two polygons are equal if Within(A, B) and Within(B, A). That is, A and B occupy the same space. However, I think that an option is missing that, in addition to checking that they occupy the same space, also checks that they have the same number of vertices even if their order may be different. My problem has arisen when doing topological quality control of a land cover. The additional collinear vertex is necessary because a neighboring polygon has been aplited into two. The incorporation of this (collinear) vertex in the polygon makes it a new version of the polygon that I need to detect. In any case, I think that the documentation for the Lenient option should explain a little better how it works. 

I have suggested and idea to improve the Lenient Geometry Matching behavior and support my use case.

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings