[PostGIS] #5699: ERROR: XX000: SQL/MM Spatial exception - geometry crosses an edge
PostGIS
trac at osgeo.org
Mon Mar 25 10:33:20 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):
A probably more severe issue here is that we ALLOW an invalid topology to
be created. This should supposedly not happen as the code is theoretically
checking for all these invalid conditions before accepting the change.
The relevant snippt of the log is this:
{{{
sql:break.sql:10: DEBUG: [topo/lwgeom_topo.c:_lwt_CheckEdgeCrossing:682]
lwt_be_getEdgeWithinBox2D returned 3 edges
psql:break.sql:10: DEBUG: [topo/lwgeom_topo.c:_lwt_CheckEdgeCrossing:713]
Edge 5 converted to GEOS
psql:break.sql:10: DEBUG: [topo/lwgeom_topo.c:_lwt_CheckEdgeCrossing:726]
Edge 5 relate pattern is FF1F00102
psql:break.sql:10: DEBUG: [topo/lwgeom_topo.c:_lwt_CheckEdgeCrossing:713]
Edge 2 converted to GEOS
psql:break.sql:10: DEBUG: [topo/lwgeom_topo.c:_lwt_CheckEdgeCrossing:726]
Edge 2 relate pattern is FF1F00102
psql:break.sql:10: DEBUG: [topo/lwgeom_topo.c:_lwt_CheckEdgeCrossing:713]
Edge 1 converted to GEOS
psql:break.sql:10: DEBUG: [topo/lwgeom_topo.c:_lwt_CheckEdgeCrossing:726]
Edge 1 relate pattern is F01FF0102
psql:break.sql:10: DEBUG: [topo/lwgeom_topo.c:_lwt_CheckEdgeCrossing:792]
No edge crossing detected amongh the 3 candidate edges
}}}
The last edge (Edge 1) is clearly having the a boundary-interior
intersection but the code is not considering that as problematic, while it
IS, in this case.
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5699#comment:6>
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