Opened 4 years ago

Closed 3 years ago

#1039 closed defect (fixed)

[OverlayNG] Intersection error: IllegalArgumentException: Argument must be Polygonal or LinearRing

Reported by: Algunenano Owned by: pramsey
Priority: major Milestone: 3.10.0
Component: Default Version: main
Severity: Significant Keywords:
Cc:

Description

I've gotten this error from a big multipolygon in the MVT tests -> makeValid -> geometrycollection, but this seems to reproduce the same issue:

Select ST_AsText(ST_Intersection('GEOMETRYCOLLECTION(MULTIPOLYGON(((0 0, 0 1, 1 1, 1 0, 0 0))), MULTILINESTRING((-100 -100, -100 -101)))', 'POLYGON((-100 -100, -100 -200, -200 -200, -200 -100, -100 -100))'::geometry));

Old output:

LINESTRING(-100 -100,-100 -101)

With the new one:

ERROR:  lwgeom_intersection: GEOS Error: IllegalArgumentException: Argument must be Polygonal or LinearRing

It seems to happen when the the geometry collection mixes geometries of different dimensionality, but I've only been able to reproduce it with polygon + line.

Change History (4)

comment:1 by pramsey, 3 years ago

Milestone: 3.10.0

comment:2 by mdavis, 3 years ago

JTS Overlay has never handled mixed dimension geometry. Is this an extension in GEOS? That perhaps has not been applied to the switch to OverlayNG?

comment:3 by pramsey, 3 years ago

I just ran the test example and got back the LINESTRING. Latest master PostGIS and GEOS. Is this still extant?

comment:4 by pramsey, 3 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.