Esri / Esri/geometry-api-java

OperatorCut is returning two empty geometries if there are no valid cuts. A geometry cursor containing only a null pointer should be returned instead.

Open
#44 0 comments 0 reactions 1 assignee Claimed by @stolstov View on GitHub
enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.