[PostGIS] #5722: Spatial exception - geometry boundary touches interior of edge 4 (XX000)

PostGIS trac at osgeo.org
Mon Apr 29 07:05:17 PDT 2024


#5722: Spatial exception - geometry boundary touches interior of edge 4 (XX000)
----------------------+---------------------------
 Reporter:  strk      |      Owner:  strk
     Type:  defect    |     Status:  new
 Priority:  medium    |  Milestone:  PostGIS 3.5.0
Component:  topology  |    Version:  master
 Keywords:            |
----------------------+---------------------------
 Repro:

 Prepare:
 {{{
 SELECT topology.DropTopology ('topo');
 SELECT topology.TopoGeo_AddLineString ('topo',
 'LINESTRING(
   -11.968112622212203 0.651457829865329,
     8.13909499443551  0.334122751124234,
   -11.964143711257549 0.31568377154268)');
 }}}

 Fail:
 {{{
 SELECT topology.TopoGeo_AddLineString ('topo',
 'LINESTRING(
   -0.65145782986533 -11.968112622212203,
   -0.159231454672685  8.13973141470126)');
 }}}

 What happens in this case is that the intersection point computed by GEOS
 is further than the minimum computed tolerance for the point so when
 PostGIS Topology adds the point it fails to snap/split the existing edge
 on which the intersection point was computed, thus creating an isolated
 node and finding an intersection between that aforementioned edge and the
 incoming edge upon adding it.

 The exception is thrown in the master branch. I didn't try what happens in
 the 3.4 branch but chances are an invalid topology is created instead.
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5722>
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