Opened 7 months ago

Closed 7 months ago

#5583 closed defect (fixed)

ST_Intersects fails with two valid geometries

Reported by: kszafran Owned by: pramsey
Priority: medium Milestone: PostGIS 3.4.1
Component: postgis Version: 3.3.x
Keywords: st_intersects, geos Cc: kszafran


I have bumped into an issue where two geometries that are valid according to ST_IsValid cause ST_Intersects to throw a TopologyException. Since the geometries are quite large, I will attach them as files.

To reproduce, simply run SELECT ST_Intersects(?, ?) with the two geometries found in the attached files. It doesn't matter which geometry is first.

ERROR:  GEOSIntersects: TopologyException: side location conflict at -120.53632304660869 38.067099962053405. This can occur if the input geometry is invalid.

Tested on:

PostgreSQL 15.2 on x86_64-pc-linux-musl, compiled by gcc (Alpine 12.2.1_git20220924-r4) 12.2.1 20220924, 64-bit
POSTGIS="3.3.2 0" [EXTENSION] PGSQL="150" GEOS="3.11.1-CAPI-1.17.1" PROJ="9.1.0" GDAL="GDAL 3.5.3, released 2022/10/21" LIBXML="2.10.4" LIBJSON="0.16" LIBPROTOBUF="1.4.1" WAGYU="0.5.0 (Internal)" TOPOLOGY RASTER

Attachments (2)

geom1.wkb (45.2 KB ) - added by kszafran 7 months ago.
geom2.wkb (60.3 KB ) - added by kszafran 7 months ago.

Download all attachments as: .zip

Change History (4)

by kszafran, 7 months ago

Attachment: geom1.wkb added

by kszafran, 7 months ago

Attachment: geom2.wkb added

comment:1 by mdavis, 7 months ago

This is a robustness error due to very close (but not equal) coordinate values.

It is fixed in GEOS 3.12 (by PR 775).

See also #5390.

comment:2 by mdavis, 7 months ago

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