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

Split with lines fixes #39353

Merged
merged 5 commits into from
Oct 15, 2020
Merged

Split with lines fixes #39353

merged 5 commits into from
Oct 15, 2020

Conversation

nyalldawson
Copy link
Collaborator

Fixes "Split with lines" algorithm can get stuck in an endless loop if geos difference result is numerically unstable.

Amend the test to determine whether a split occurred from an exact topological test to instead test with a very small tolerance. This avoids us flagging that a split has occurred when the actual results have only varied by a insignificant amount due to precision of the GEOS difference op.

This fixes a hang which can otherwise result where we keep splitting the same pair of lines and think that a change is occurring every time.

Also a minor optimisation to avoid a redundant intersection test which we've already done.

@github-actions github-actions bot added this to the 3.16.0 milestone Oct 13, 2020
an endless loop if geos difference result is numerically unstable

Amend the test to determine whether a split occurred from an exact
topological test to instead test with a very small tolerance. This
avoids us flagging that a split has occurred when the actual results
have only varied by a insignificant amount due to precision of
the GEOS difference op.

This fixes a hang which can otherwise result where we keep splitting
the same pair of lines and think that a change is occurring every
time.
@nyalldawson nyalldawson merged commit ab6e615 into qgis:master Oct 15, 2020
@nyalldawson nyalldawson deleted the split_with_lines branch October 15, 2020 02:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant