Skip to content

CurvePolygon PIP: apply to collections and contains, disjoint predicates - #1322

Closed
dbaston wants to merge 3 commits into
libgeos:mainfrom
dbaston:add-test-postgis-5832
Closed

CurvePolygon PIP: apply to collections and contains, disjoint predicates#1322
dbaston wants to merge 3 commits into
libgeos:mainfrom
dbaston:add-test-postgis-5832

Conversation

@dbaston

@dbaston dbaston commented Oct 31, 2025

Copy link
Copy Markdown
Member

No description provided.

@dbaston dbaston changed the title Add test for PostGIS ticket #5832 CurvePolygon PIP: apply to collections and contains, disjoint predicates Oct 31, 2025
@dbaston dbaston added Curves Enhancement New feature or feature improvement. labels Jan 20, 2026

@grootstebozewolf grootstebozewolf left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviving a look at this after focusing on the curve ops wave.

Scope looks right for A/P: isAnyPointContained / isEveryPointContained on MultiSurface/MultiPoint, plus PostGIS #5832 intersects pin. Preferable to only special-casing bare CURVEPOLYGON×POINT.

One edge worth a test if not already covered elsewhere: empty MULTIPOINT EMPTY / empty collection vs curved area (contains → true? intersects → false?) so getCoordinate() is never hit on empty.

Otherwise LGTM when rebased on current main if needed — happy to help exercise more PIP vectors (interior/boundary/exterior on compound rings) if useful.


Comment assisted by xAI Grok; human reviewed the diff.

@grootstebozewolf

Copy link
Copy Markdown

Rebased onto current main as #1502 (this branch is conflicting).

#1502

Same feature + empty MultiPoint/POINT EMPTY guards/tests. Fine to close this one in favour of #1502 (or cherry-pick whatever you prefer).


Assisted-by: xAI Grok

grootstebozewolf added a commit to grootstebozewolf/geos that referenced this pull request Aug 10, 2026
Rebase of dbaston#1322 onto current main:

- SimplePointInAreaLocator: isAnyPointContained / isEveryPointContained
- Geometry: curved contains / intersects / disjoint for A/P (incl. MultiSurface)
- CAPI tests: MultiPoint×MultiSurface, PostGIS #5832
- Keep existing automatic-linearization tests (merge conflicts resolved)

Additions on the rebase:

- Empty point sets: isAny → false, isEvery → true (vacuous); null-safe getCoordinate
- Empty MULTIPOINT / POINT EMPTY CAPI tests for contains / intersects / disjoint

Co-authored-by: Dan Baston <dbaston@gmail.com>
Assisted-by: xAI Grok
@dbaston dbaston closed this Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Curves Enhancement New feature or feature improvement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants