Fix BoundaryChainNoder to split chains at self-touch nodes#1134
Merged
dr-jts merged 1 commit intolocationtech:masterfrom May 30, 2025
Merged
Fix BoundaryChainNoder to split chains at self-touch nodes#1134dr-jts merged 1 commit intolocationtech:masterfrom
dr-jts merged 1 commit intolocationtech:masterfrom
Conversation
|
Porting to GEOS, this pre-existing test now throws a TopologyException: What does JTS do? @dr-jts |
pramsey
added a commit
to Snowflake-Labs/geos
that referenced
this pull request
Jul 8, 2025
Contributor
Author
The |
|
It’s a change in behaviour. Previously the behavior was that invalid
coverages were just returned unchanged when fed through coversge union
…On Tue, Jul 8, 2025 at 10:55 AM Martin Davis ***@***.***> wrote:
*dr-jts* left a comment (locationtech/jts#1134)
<#1134 (comment)>
it does the same thing as GEOS:
The TopologyException is expected behaviour, since the input is an
invalid coverage (the polygons overlap). Are you seeing something that
needs fixing in JTS?
—
Reply to this email directly, view it on GitHub
<#1134 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA3ZW5FCTJAIZURQRZ63633HQAXJAVCNFSM6AAAAAB6JA6JKOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTANBZHAZDGOJSHA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Contributor
Author
Actually it's always been possible that TopoloigyExceptions are thrown for invalid coverages. See the Javadoc on OverlayNG.CoverageUnion here. But the doc on the |
pramsey
added a commit
to libgeos/geos
that referenced
this pull request
Jul 8, 2025
Port of locationtech/jts#1134, to handle case where holes in a coverage touch at a point when generating a coverage union.
Contributor
Author
|
Added doc about |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Fixes the
BoundaryChainNoderto split chains at self-touch nodes. This is required byCoverageUnionto produce correct OGC topology for inverted polygons and exverted holes.For example, the coverage:
produces a polygon with two holes:
Before this fix, the output was an inverted polygon with a single self-touching ring.