diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java index 4292399a88..0d6809a286 100644 --- a/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java +++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java @@ -221,12 +221,10 @@ private void add(Geometry g) private void addCollection(GeometryCollection gc) { for (int i = 0; i < gc.getNumGeometries(); i++) { - Geometry g = gc.getGeometryN(i); - if (! g.isEmpty()) { - add(g); - } + add(gc.getGeometryN(i)); } } + /** * Add a Point to the graph. */ diff --git a/modules/tests/src/test/resources/testxml/general/TestRelatePA.xml b/modules/tests/src/test/resources/testxml/general/TestRelatePA.xml index 07ceb7e933..4c2345a7d2 100644 --- a/modules/tests/src/test/resources/testxml/general/TestRelatePA.xml +++ b/modules/tests/src/test/resources/testxml/general/TestRelatePA.xml @@ -157,7 +157,7 @@ - mPA - empty MultiPoint element + mPA - empty MultiPoint element for A MULTIPOINT(EMPTY,(0 0)) @@ -181,6 +181,81 @@ true + + mPA - empty MultiPoint element for A, on boundary of B + + MULTIPOINT(EMPTY,(1 0)) + + + POLYGON ((1 0,0 1,-1 0,0 -1, 1 0)) + + + + true + + + false + true + false + false + false + false + true + false + true + false + + + + mPA - empty MultiPoint element for B + + POLYGON ((1 0,0 1,-1 0,0 -1, 1 0)) + + + MULTIPOINT(EMPTY,(0 0)) + + + + true + + + true + false + true + false + false + false + true + false + false + false + + + + mPA - empty MultiPoint element for B, on boundary of A + + POLYGON ((1 0,0 1,-1 0,0 -1, 1 0)) + + + MULTIPOINT(EMPTY,(1 0)) + + + + true + + + false + false + true + false + false + false + true + false + true + false + + PmA - empty MultiPolygon element