#4337 closed defect (invalid)

ST_Intersects on infinite numbers

Reported by: komzpa Owned by: pramsey
Priority: medium Milestone: PostGIS 2.5.3
Component: postgis Version: 2.4.x
Keywords: Cc:

Description

I have a table with geometries I have gotten by dumping a world raster in EPSG:54009 and projecting to EPSG:3857. QGIS shows table in project good enough.

Identify tool in qgis stops working and barks a warning:

2019-03-05T11:36:36     WARNING    Fetching from cursor qgis_3 failed
             Database error: ERROR: GEOSIntersects: IllegalArgumentException: RobustDeterminant encountered non-finite numbers 
             
2019-03-05T11:36:36     WARNING    Query: CLOSE qgis_3 returned 7 [ERROR: current transaction is aborted, commands ignored until end of transaction block
             ]
2019-03-05T11:36:36     WARNING    1 cursor states lost.
             SQL: CLOSE qgis_3
             Result: 7 (ERROR: current transaction is aborted, commands ignored until end of transaction block
             )

I believe if we're sure geometry is offscreen we can handle the infininty intersects with a point or box in screen by telling "it doesn't intersect".

Change History (3)

comment:1 Changed 20 months ago by robe

Milestone: PostGIS 2.5.2PostGIS 2.5.3

comment:2 Changed 18 months ago by pramsey

I can see at least filtering the bbox condition, but otherwise I'd consider a geometry with an Inf to be a bad citizen and not spend effort trying to support login on them. That said, I can't easily create one, I tried to make one with a mercator transform, but proj was too smart.

postgis30=# select st_astext(st_transform('SRID=4326;POINT(0 90)', 3857));
psql: ERROR:  transform: tolerance condition error (-20)

comment:3 Changed 18 months ago by pramsey

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