[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