[postgis-tickets] [PostGIS] #4758: ERROR: XX000: SQL/MM Spatial exception - geometry crosses edge 2, LOCATION: pg_error, lwgeom_pg.c:250
PostGIS
trac at osgeo.org
Thu Sep 24 08:43:03 PDT 2020
#4758: ERROR: XX000: SQL/MM Spatial exception - geometry crosses edge 2,
LOCATION: pg_error, lwgeom_pg.c:250
-----------------------+---------------------------
Reporter: laopsahl | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.1.0
Component: postgis | Version: 3.0.x
Resolution: | Keywords:
-----------------------+---------------------------
Comment (by strk):
Here's the problem: the intersection point (blue) computed between the
existing edges (black) and the new line (red) gets snapped to the existing
node being below tolerance.
[[Image(intersection.png)]]
My feeling is that the starting condition should never happen, given the
tolerance, and the red node should have attracted the passing-by edge
instead of leaving where it is, effectively changing the existing edge
rather than creating a new one. Here order matters because if the smaller
edge was inserted before, its node would have resulted in the longer edge
snapping to it.
At this moment, the code tries NOT to snap existing edges to new nodes, to
avoid dealing with edge collapses (you can see, in this case, that
snapping the existing edge to the new node would result in a collapse).
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4758#comment:3>
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