[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