Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Recent versions of GEOS use OverlayNG (NG stands for New Generation) for set operations between geometries (Intersection, Union, etc.). With the introduction of OverlayNG, invalid geometries are no longer frequently produced by GEOS. They are either non-existent, or very rare.
Before this change, the
simplefeatures
GEOS wrapper validates results from GEOS.This feels like a misalignment:
Validation isn't free, so validating GEOS results seems like the wrong default.
The GEOS wrapper is doing more than strictly wrapping the GEOS library (it is also validating the result). This blurs the lines between what simplefeatures is doing and what GEOS is doing.
This change removes that validation. Users can of course still validate manually by calling the
Validate
method on the result.Check List
Have you:
Added unit tests? No, because it's removal of an existing feature.
Add cmprefimpl tests? (if appropriate?) N/A.
Updated release notes? (if appropriate?) Not yet. There will be a large amount of changes for this release, so I'll add release notes at the end.
Related Issue
Benchmark Results
run_benchmarks.sh
script.Not much to see here. All benchmark results are the same, except for benchmarks for GEOS operations which are now faster (due to the change in validation behaviour).
bench_results.txt