-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix handling of incomplete touching inners #343
Conversation
63e0395
to
a1cf76c
Compare
oshdb-util/src/main/java/org/heigit/ohsome/oshdb/util/geometry/OSHDBGeometryBuilder.java
Show resolved
Hide resolved
oshdb-util/src/main/java/org/heigit/ohsome/oshdb/util/geometry/OSHDBGeometryBuilder.java
Outdated
Show resolved
Hide resolved
...eigit/ohsome/oshdb/util/geometry/osmtestdata/OSHDBGeometryBuilderTestOsmTestData7xxTest.java
Show resolved
Hide resolved
.../ohsome/oshdb/util/geometry/relations/OSHDBGeometryBuilderMultipolygonInvalidInnersTest.java
Show resolved
Hide resolved
.../ohsome/oshdb/util/geometry/relations/OSHDBGeometryBuilderMultipolygonInvalidInnersTest.java
Show resolved
Hide resolved
Is the Milestone 0.7 fitting to this issue even tough we want to fix that directly for the 0.6 version? |
I wasn't super sure about that either, but adding it to the 0.6 milestone seemed "wrong" because it's already closed; maybe not adding it to any milestone would be better? My thinking was: ok, we fix this for the current next version (0.7, indicated by the milestone) and additionally backport it as well (to 0.6, indicated by the |
I was thinking about not adding it to any milestone would be okay. But keeping it in 0.7 is okay as well. |
Description
Fixes a bug which caused an infinite loop in the
cutAtSement
method (used inmergeTouchingRings
routine) because it is called with non-closed linestrings instead of rings. Fixed by making sure thatbuildRings
does only return valid rings.This has the side effect that some errorneous multipolygons now get "cleaned" up slightly into (smaller) polygons, where they were returned as
GeometryCollections
before (prior to0.6.0
). But since the old (buffer(0)
, see #249) implementation also had similar side effects, I see no major harm in this change.Checklist
I have written javadoc (required for public methods)I have made corresponding changes to the documentationI have adjusted the examples or created an issue in the corresponding repositoryI have adjusted the benchmark or created an issue in the corresponding repository