[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