You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The relate operation fails when the inputs are disjoint and one input is a GeometryCollection:
bin/geosop -a "POINT(0 0)" -b "GEOMETRYCOLLECTION(POINT (1 1), LINESTRING (1 1, 2 2))" relate
Run-time exception: IllegalArgumentException: Operation not supported by GeometryCollection
Analysis
This occurs because GeometryCollection currently does not support the getBoundary method. This is because support for GeometryCollections as input to spatial predicates is a work-in-progress (e.g. see discussion on #982). Evaluating the IntersectionMatrix in a disjoint case requires computing the dimension of the boundary. This is currently implemented in a way which requires determining the boundary of the geometry (see BoundaryOp.hasBoundary), which fails for GeometryCollections.
The fix is probably to support determining the boundary dimension without materializing the actual boundary of the geometry. Note that if the "GC-Union-topology"semantic is to be used, determining the boundary dimension of a heterogeneous GeometryCollection requires handling special cases including:
LineStrings forming rings
LineString endpoint lying inside a Polygon
The text was updated successfully, but these errors were encountered:
The
relate
operation fails when the inputs are disjoint and one input is a GeometryCollection:Analysis
This occurs because
GeometryCollection
currently does not support thegetBoundary
method. This is because support for GeometryCollections as input to spatial predicates is a work-in-progress (e.g. see discussion on #982). Evaluating the IntersectionMatrix in a disjoint case requires computing the dimension of the boundary. This is currently implemented in a way which requires determining the boundary of the geometry (seeBoundaryOp.hasBoundary
), which fails forGeometryCollection
s.The fix is probably to support determining the boundary dimension without materializing the actual boundary of the geometry. Note that if the "GC-Union-topology"semantic is to be used, determining the boundary dimension of a heterogeneous GeometryCollection requires handling special cases including:
The text was updated successfully, but these errors were encountered: