[PostGIS] #5782: XX000: Corrupted topology: adjacent edges 33 and -32 bind different face (1 and 0)
PostGIS
trac at osgeo.org
Tue Sep 24 02:06:57 PDT 2024
#5782: XX000: Corrupted topology: adjacent edges 33 and -32 bind different face (1
and 0)
--------------------------------+---------------------------
Reporter: Lars Aksel Opsahl | Owner: pramsey
Type: defect | Status: new
Priority: high | Milestone: PostGIS 3.5.0
Component: postgis | Version:
Resolution: | Keywords:
--------------------------------+---------------------------
Comment (by strk):
Confirmed, adding the last point of incoming line finds edge 3 to be the
closest to it while instead edge 4 would be closest:
{{{
_lwt_AddPoint:6559] Adding point: POINT(18.006691126034692
69.04048768506776)
lwt_GetFaceContainingPoint:7502] Closest segment on edge 3 is 1 (dist
9.71684e-05)
lwt_GetFaceContainingPoint:7505] Closest segment on edge 3 is
LINESTRING(18.0068 69.0404, 18.0068 69.0405)
lwt_GetFaceContainingPoint:7642] Closest point is NOT a node
lwt_GetFaceContainingPoint:7760] Closest point is internal to closest
segment, calling
lw_segment_side((18.0068,69.0404),(18.0068,69.0405),(18.0067,69.0405)
lwt_GetFaceContainingPoint:7770] Side of closest segment query point falls
on: -1 (left)
}}}
I guess the code could be made more robust to check that the first and
last node of a line being added are found to be on the same face or throw
an exception if that's not the case
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5782#comment:8>
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