diff --git a/common/src/main/java/org/apache/sedona/common/utils/GeometrySplitter.java b/common/src/main/java/org/apache/sedona/common/utils/GeometrySplitter.java index 7045316fed3..89473c5d3c7 100644 --- a/common/src/main/java/org/apache/sedona/common/utils/GeometrySplitter.java +++ b/common/src/main/java/org/apache/sedona/common/utils/GeometrySplitter.java @@ -262,13 +262,9 @@ private void splitOnCoord(LinearGeometryBuilder lineBuilder, Coordinate coord) { } private Geometry generateCandidatePolygons(Geometry polygons, Geometry blade) { - // restrict the blade to only be within the original polygon to - // avoid candidate polygons that are impossible - Geometry bladeWithinPolygons = blade.intersection(polygons); - // a union will node all the lines at intersections // these nodes are required for Polygonizer to work correctly - Geometry totalLineWork = polygons.getBoundary().union(bladeWithinPolygons); + Geometry totalLineWork = polygons.getBoundary().union(blade); Polygonizer polygonizer = new Polygonizer(); polygonizer.add(totalLineWork); @@ -281,7 +277,18 @@ private void addValidPolygonsToList(Geometry polygons, Geometry original, List