[PostGIS] #5782: TopoGeo_addLinestring corrups topology: adjacent edges 33 and -32 bind different face (1 and 0)

PostGIS trac at osgeo.org
Tue Sep 24 07:58:52 PDT 2024


#5782: TopoGeo_addLinestring corrups topology: adjacent edges 33 and -32 bind
different face (1 and 0)
--------------------------------+---------------------------
  Reporter:  Lars Aksel Opsahl  |      Owner:  strk
      Type:  defect             |     Status:  new
  Priority:  high               |  Milestone:  PostGIS 3.4.4
 Component:  topology           |    Version:
Resolution:                     |   Keywords:
--------------------------------+---------------------------
Comment (by Lars Aksel Opsahl):

 Replying to [comment:13 strk]:
 > Of course the same problem occurs with GetFaceContainingPoint:
 > {{{
 > =# select GetFaceContainingPoint('t5782', 'POINT(18.006691126034692
 69.04048768506776)');
 >  getfacecontainingpoint
 > ------------------------
 >                       1
 > (1 row)
 > }}}
 >
 > Both edges are found to have no interior intersection with the shortest
 line between the query point and edge 3:
 > {{{
 > =# with candidate as ( select ST_ShortestLine('POINT(18.006691126034692
 69.04048768506776)', geom) sl from t5782.edge where edge_id = 3) select
 edge_id, ST_Relate(geom, sl) from t5782.edge, candidate where
 ST_Intersects(geom, sl)
 > ;
 >  edge_id | st_relate
 > ---------+-----------
 >        4 | F01FF0102
 >        3 | F01FF0102
 > (2 rows)
 > }}}
 >
 > And both edges are found to have an interior intersection with the
 shortest line between query point and edge 4:
 > {{{
 > =# with candidate as ( select ST_ShortestLine('POINT(18.006691126034692
 69.04048768506776)', geom) sl from t5782.edge where edge_id = 4) select
 edge_id, ST_Relate(geom, sl) from t5782.edge, candidate where
 ST_Intersects(geom, sl)
 > ;
 >  edge_id | st_relate
 > ---------+-----------
 >        4 | 0F1FF0102
 >        3 | 0F1FF0102
 > (2 rows)
 > }}}
 >
 > I don't feel I can trust any of the above
 >

 Can it be related to performance or other fixes in GEOS ?

 Does it for instance fail on GEOS from 2023 ?
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5782#comment:16>
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