-
Notifications
You must be signed in to change notification settings - Fork 946
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
Defaulting to ignoreSelfIntersections: false
changes behavior of a number of Turf methods in v7
#2722
Comments
While |
Thanks for pulling this together @pm0u. We're taking a look now. |
@smallsaucepan - thanks, happy to help with a PR if desired but I think where it stands now there are still some decisions to be made around how to handle this change before I could know where to go with that. let me know if I can help |
Hi @pm0u. Looks like discussion over at #2728 has concluded. Maintainers have agreed we should revert ignoreSelfIntersections behaviour to 6.5.0. Which I think means setting ignoreSelfIntersections default value to true wherever it appears in the current API. Would you like to prepare a PR for this? |
I can work on that some this week - I am thinking some associated tests for this would be good as well. Some that include self intersections and are expected to return false for results at the very least (The other side may be useful as well?). I should be able to get the changes together but may reach out for some help on the PR as far as testing. |
@smallsaucepan I started in on this here: #2741 So far, that is only the I am concerned that a large change like this could be difficult to review as one large PR. Let me know your thoughts, happy to do whichever direction is deemed best. |
Summarizing the changes found to be needed:
Packages impacted, not requiring changes (These will resolve when dependencies are fixed):
Identified packages not impacted:
|
I opened a PR for line-intersect as well. I think it would be best to start there as its the root and we can determine what other changes might still be necessary once that PR is in place #2742 |
hey @smallsaucepan sorry to bother - I just wanted to see if there was anything more I needed to do to get #2742 ready for review? |
hi @smallsaucepan - i have 2 new PRs that should finish addressing this issue. they seem to have a failing test for Curious what if you think this last one is worth addressing?
what do you think makes sense? would you prefer this left explicit or should this get cleaned up? |
Thanks heaps @pm0u. Getting those last two merged now. That will allow us to close off the four issues linked in the description above, yes? r.e. line-split, let's leave it explicit for now - feel it's a form of self documentation. |
afaik, yes - I can take a look tomorrow and see if there are any easy test cases included in those issues that we can compare against these updates just to confirm for certain |
Cool. I'll proceed optimistically and mark those four as resolved once #2773 is merged. Aiming to do a release on the 26 or 27th with these fixes, so if you find anything untoward in the meantime let me know. |
ok - will there be a pre release available as an alpha on NPM? i am actually thinking through how i can test these, i think at this point the only way i could is locally with a local build of turf. unless you have any ideas? |
Not planning on an alpha, as we're keen to get the behaviour reverted to what it should be. If you want to capture specific examples from issues, you can add them to test.ts in the relevant package. Either just run them locally for added peace of mind, or commit them for posterity (will need to be a separate PR). Did this recently over on #2729 if you want a couple of examples. If you want to there's also publishing your development copy to a local NPM registry - https://github.com/Turfjs/turf/wiki/Contributing#deploy-to-a-local-node-registry It's handy if you're trouble shooting packaging issues, though maybe overkill for what you have in mind. |
Introduced in #2033
Defaulting to include self intersections in the
@turf/line-intersect
module has introduced breaking changes to a number of consuming modules as well as creating unexpected behaviors within those modules. Previously, I believe this algorithm did not / was not able to check for self intersections however now it does by default.Examples
6.5.0
7.1.0 (includes sweepline module example)
Related issues
#2707
#2700
#2633
#2585
The text was updated successfully, but these errors were encountered: