[postgis-tickets] [PostGIS] #3464: ERROR: lwt_ChangeEdgeGeom could not construct face X, on the left of edge Y
PostGIS
trac at osgeo.org
Wed Feb 24 02:38:12 PST 2016
#3464: ERROR: lwt_ChangeEdgeGeom could not construct face X, on the left of edge Y
-----------------------+----------------------------
Reporter: strk | Owner: strk
Type: defect | Status: new
Priority: medium | Milestone: PostGIS Future
Component: topology | Version: trunk
Resolution: | Keywords: robustness
-----------------------+----------------------------
Comment (by strk):
The line being added crosses the existing edges 4 times:
1. Crosses the upper edge near its starting node going inside the face
2. Crosses the lower edge near its starting node going outside the face
3. Crosses the lower edge going inside the face near its centroid
4. Crosses the lower edge going outside the face near its centroid
Theoretically this would require splitting the line into 5 parts, but the
internal noding step splits the line into 4 parts instead, using a
_single_ node in the upper side, rather than 2:
{{{
psql:crash_smaller.sql:2: DEBUG: [lwgeom_topo.c:lwt_AddLine:5876]
Finally-noded: MULTILINESTRING((634446.780374345
4829591.16223176,634451.780306051 4829559.16259395),(634451.780306051
4829559.16259395,634451.78032304 4829559.16248522,634469.462472354
4829541.48032363),(634469.462472354 4829541.48032363,634485.780040461
4829525.1627442,634485.781473602 4829525.16065963),(634485.781473602
4829525.16065963,634488.530017153 4829521.16277512))
}}}
I hadn't checked if this is due to snap-rounding happening on the GEOS
side but for sure it must not be easy (if possible at all) to represent
such a small line. I cannot use QGIS to measure the distance between the
edges near the intersection point as it doesnt' let me zoom in more than
50,000:1, and at that scale I cannot see the edges ever disjoint.
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3464#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