[PostGIS] #6023: Silent toplogy error in the result (face has multiple shells,mixed face labeling in ring)
PostGIS
trac at osgeo.org
Fri Dec 26 03:30:55 PST 2025
#6023: Silent toplogy error in the result (face has multiple shells,mixed face
labeling in ring)
--------------------------------+------------------------
Reporter: Lars Aksel Opsahl | Owner: strk
Type: defect | Status: new
Priority: medium | Milestone:
Component: topology | Version: 3.6.x
Resolution: | Keywords: robustness
--------------------------------+------------------------
Changes (by strk):
* keywords: => robustness
Comment:
It's a robustness issue, because the bottom-most intersection point is
very close to the incoming vertex, so the edge end of Edge4 in the figure
above is very short (4.875508987259044e-13):
{{{
LINESTRING(
11.230170431987244 62.84904481447776,
11.23020501303477 62.84900750109812,
11.230120879533905 62.8489711984873, <-- very
11.230120879533454 62.84897119848748 <-- close
)
}}}
Using just that edge as the incoming line is enough to trigger the
problem:
{{{
BEGIN;
SELECT * FROM topology.TopoGeo_addLinestring('t6023',
'LINESTRING(
11.230170431987244 62.84904481447776,
11.23020501303477 62.84900750109812,
11.230120879533905 62.8489711984873,
11.230120879533454 62.84897119848748
)',-1);
SELECT 2 as t2, * FROM topology.ValidateTopology('t6023');
}}}
While removing the 3rd vertex from the line results in a valid topology:
{{{
BEGIN;
SELECT * FROM topology.TopoGeo_addLinestring('t6023',
'LINESTRING(
11.230170431987244 62.84904481447776,
11.23020501303477 62.84900750109812,
11.230120879533454 62.84897119848748
)',-1);
SELECT 2 as t2, * FROM topology.ValidateTopology('t6023');
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/6023#comment:10>
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