Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect Relate value due to noding #396

Closed
dr-jts opened this issue Mar 26, 2019 · 0 comments · Fixed by #989
Closed

Incorrect Relate value due to noding #396

dr-jts opened this issue Mar 26, 2019 · 0 comments · Fixed by #989

Comments

@dr-jts
Copy link
Contributor

dr-jts commented Mar 26, 2019

This issue is a mirror of GEOS issue 572.

A: LINESTRING (1 0, 0 2, 0 0, 2 2)
B: LINESTRING (0 0, 2 2)

A.relate(B) 
Expected = 101F00FF2
Actual   = 001F001F2

A.covers(B)
Expected: TRUE
Actual: FALSE

(Expected value can be determined by using A= LINESTRING (2 0, 0 2, 0 0, 2 2) )

image

The issue is caused by the fact that the topology is evaluated after the inputs have been self-noded. Input A has a node introduced, but input B does not. The new node causes the segments of A to drift so that they are no longer coincident with B (as they obviously should be). Thus the I(A)/I(B) relationship is computed as F, when it should be 2.

It's possible that #270 would fix this. Or, perhaps a new approach to predicate evaluation which can determine topology without introducing nodes is feasible.

This is possibly related to #270.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant