OperatorCut is returning two empty geometries if there are no valid cuts. A geometry cursor containing only a null pointer should be returned instead.
- Dominant language
- Java
- Stars
- 710
- Forks
- 269
- Avg merge
- 7d 23h
- Merged PRs (30d)
- 1
Description
The cases in question are
1. the cuttee and the cutter don't intersect at all
2. the cuttee is a polygon and cutter doesn't pass all the way through it
3. the cuttee is a polyline, the cutter touches the cuttee but b_consider_touch is false.
Currently, a pointer to a geometry cursor is returned. There are two empty geometries in the cursor, one for the left cut and one for the right cut. It would be a more obvious signal to the user that there were no valid cuts if a null pointer was returned instead.
Here are some simple cases to reproduce the issues listed above.
cutter1: {"paths":[[[1.5,0.5],[2.5,0.5]]]}
cutter2: {"paths":[[[0.5,0.5],[1.5,0.5]]]}
cutter3: {"paths":[[[0.2,0.4],[0.6,0.8]]]}
polygon (cuttee): {"rings":[[[0,0],[0,1],[1,1],[1,0],[0,0]]]}
polyline (cuttee): {"paths":[[[0.0,0.6],[0.4,0.2],[0.5,0.5]]]}
Contributor guide
Assessment
This issue has not been assessed yet.