[PostGIS] #5699: ERROR: XX000: SQL/MM Spatial exception - geometry crosses an edge

PostGIS trac at osgeo.org
Mon Mar 25 04:33:52 PDT 2024


#5699: ERROR:  XX000: SQL/MM Spatial exception - geometry crosses an edge
--------------------------------+---------------------------
  Reporter:  Lars Aksel Opsahl  |      Owner:  strk
      Type:  defect             |     Status:  assigned
  Priority:  medium             |  Milestone:  PostGIS 3.4.3
 Component:  topology           |    Version:  3.4.x
Resolution:                     |   Keywords:  robustness
--------------------------------+---------------------------
Comment (by strk):

 Analyzing the resulting topology, reported as having crossing edges, I
 cannot get `ST_Crosses` nor `ST_Relate` to confirm the fact:
 {{{
 strk=# select * from validatetopology('topo_t5699');
        error       | id1 | id2
 -------------------+-----+-----
  edge crosses edge |   1 |  46
 (1 row)

 strk=# select ST_Relate(e1.geom, e2.geom), ST_Crosses(e1.geom,e2.geom),
 st_touches(e1.geom, e2.geom) from topo_t5699.edge e1, topo_t5699.edge e2
 where e2.edge_id > e1.edge_id;
  st_relate | st_crosses | st_touches
 -----------+------------+------------
  FF1F00102 | f          | t
  FF1FF0102 | f          | f
  FF1F00102 | f          | t
  F01FF0102 | f          | t
  FF1F00102 | f          | t
  FF1F00102 | f          | t
 (6 rows)
 }}}

 But I do see `next_left` and `next_right` labels being wron. Note how
 edges 1,2 and 45 have them wrong

 [[Image(brokenEdgeLinking.png)]]
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5699#comment:4>
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