[PostGIS] #5722: Spatial exception - geometry boundary touches interior of edge 4 (XX000)
PostGIS
trac at osgeo.org
Mon Apr 29 07:05:17 PDT 2024
#5722: Spatial exception - geometry boundary touches interior of edge 4 (XX000)
----------------------+---------------------------
Reporter: strk | Owner: strk
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.5.0
Component: topology | Version: master
Keywords: |
----------------------+---------------------------
Repro:
Prepare:
{{{
SELECT topology.DropTopology ('topo');
SELECT topology.TopoGeo_AddLineString ('topo',
'LINESTRING(
-11.968112622212203 0.651457829865329,
8.13909499443551 0.334122751124234,
-11.964143711257549 0.31568377154268)');
}}}
Fail:
{{{
SELECT topology.TopoGeo_AddLineString ('topo',
'LINESTRING(
-0.65145782986533 -11.968112622212203,
-0.159231454672685 8.13973141470126)');
}}}
What happens in this case is that the intersection point computed by GEOS
is further than the minimum computed tolerance for the point so when
PostGIS Topology adds the point it fails to snap/split the existing edge
on which the intersection point was computed, thus creating an isolated
node and finding an intersection between that aforementioned edge and the
incoming edge upon adding it.
The exception is thrown in the master branch. I didn't try what happens in
the 3.4 branch but chances are an invalid topology is created instead.
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5722>
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