-
Notifications
You must be signed in to change notification settings - Fork 214
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
Umbrella strategies improvements #855
Umbrella strategies improvements #855
Conversation
…the implementation. Use custom versions of enable_if for distance() getters. Use default keyword in default ctors. Remove unneeded strategy_converter specialization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Todo (probably in a different PR or in this one if you insist):
* Removal of strategy includes in tests when they are not needed (since the defaults are included with algorithms) * There is still one umbrella strategy missing for `remove_spikes` (`convex_hull` strategy could be reused for that, e.g. as an alias) * Aliases of umbrella strategies for all algorithms so they are not confusing and the user knows that e.g. `within` algorithm expects `within` strategy (right now `relate` strategy is used for all relops and setops). * Relocation of legacy strategies into `strategy/` directory
I am OK with leaving them for separate PR.
Question:
* should we use `side_robust` strategy in all algorithms by default, e.g. also in relops and setops?
We should at least try. I can prepare a PR.
// longitude difference was lesser than 360 (otherwise depending on the CS there would be | ||
// no solution or there would be two possible solutions - segment going through one of | ||
// the poles, at least in case of oblate spheroid, either way the answer would probably | ||
// be "false"). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the huge PR!
Thanks for the reviews. |
This PR adds the following changes:
is_simple
andis_valid
is_convex
umbrella strategy is added and supported in the algorithm (using the same side strategy asconvex_hull
)is_convex
for Polygon is implementedget_point_in_geometry_strategy()
) are removed from legacy strategiesTodo (probably in a different PR or in this one if you insist):
remove_spikes
(convex_hull
strategy could be reused for that, e.g. as an alias)within
algorithm expectswithin
strategy (right nowrelate
strategy is used for all relops and setops).strategy/
directoryQuestion:
side_robust
strategy in all algorithms by default, e.g. also in relops and setops?