[postgis-tickets] [PostGIS] #5528: IsValid XX000: GEOS isvalid() threw an error!
PostGIS
trac at osgeo.org
Mon Sep 4 07:22:12 PDT 2023
#5528: IsValid XX000: GEOS isvalid() threw an error!
--------------------------------+---------------------------
Reporter: Lars Aksel Opsahl | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.4.1
Component: postgis | Version: 3.4.x
Resolution: | Keywords:
--------------------------------+---------------------------
Comment (by strk):
The subject polygon is a 77 rings polygon.
Dumping all rings and checking ST_IsValid against each of them works fine.
The biggest ring has 2124 points.
Something in ring number 11 confuses PostGIS:
{{{
postgis_ticket_5528=# select st_isvalid( ST_MakePolygon( ( SELECT
ST_ExteriorRing(g) from t5528 ), ( SELECT array_agg( ST_ExteriorRing(geom)
ORDER BY path[1] ) FROM t5528_rings where path[1] > 0 and path[1] < 11 ) )
);
st_isvalid
------------
t
(1 row)
postgis_ticket_5528=# select st_isvalid( ST_MakePolygon( ( SELECT
ST_ExteriorRing(g) from t5528 ), ( SELECT array_agg( ST_ExteriorRing(geom)
ORDER BY path[1] ) FROM t5528_rings where path[1] > 0 and path[1] < 12 ) )
);
ERROR: GEOS isvalid() threw an error!
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5528#comment:5>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list