[PostGIS] #6065: ValidateTopology fails to report invalid side-labeling

PostGIS trac at osgeo.org
Tue Apr 7 07:51:41 PDT 2026


#6065: ValidateTopology fails to report invalid side-labeling
-----------------------+---------------------------
  Reporter:  strk      |      Owner:  strk
      Type:  defect    |     Status:  new
  Priority:  medium    |  Milestone:  PostGIS 3.7.0
 Component:  topology  |    Version:  master
Resolution:            |   Keywords:
-----------------------+---------------------------
Comment (by strk):

 Test:
 {{{
 SELECT NULL FROM topology.CreateTopology ('t6065');

 INSERT INTO t6065.node (node_id, geom) VALUES
 ( 1, 'POINT(17.42207545158684 69.11091383590066)' ),
 ( 2, 'POINT(17.622976580401446 69.12848944101118)' ),
 ( 3, 'POINT(17.42207545158653 69.11091383590062)' ),
 ( 4, 'POINT(17.422075702665087 69.11091383235977)' );

 INSERT INTO t6065.face (face_id, mbr)
 VALUES
 ( 1, 'POLYGON((17.42207545158684 69.11091383235974,17.42207545158684
 69.11091383590066,17.422075702665087 69.11091383590066,17.422075702665087
 69.11091383235974,17.42207545158684 69.11091383235974))' ),
 ( 2, 'POLYGON((17.42207545158653 69.11091383235974,17.42207545158653
 69.12848944101118,17.622976580401446 69.12848944101118,17.622976580401446
 69.11091383235974,17.42207545158653 69.11091383235974))' );


 INSERT INTO t6065.edge
 (edge_id,start_node,end_node,next_left_edge,next_right_edge,left_face,right_face,geom)
 VALUES
 ( 1,1,4,3,4,2,1,'LINESTRING(17.42207545158684
 69.11091383590066,17.422075702665087 69.11091383235977)' ),
 ( 2,3,1,1,2,2,2,'LINESTRING(17.42207545158653
 69.11091383590062,17.42207545158684 69.11091383590066)' ),
 ( 3,4,2,-3,-4,2,2,'LINESTRING(17.422075702665087
 69.11091383235977,17.579930758184094 69.12294910230447,17.622976580401446
 69.12848944101118)' ),
 ( 4,1,4,-1,-2,1,2,'LINESTRING(17.42207545158684
 69.11091383590066,17.42207570266477 69.11091383235974,17.422075702665087
 69.11091383235977)' );

 SELECT 'invalidities', * FROM topology.ValidateTopology('t6065');
 }}}

 The problem is with computing winding order of rings, in presence of
 dangling edges.
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/6065#comment:1>
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