[PostGIS] #5795: ST_NewEdgesSplit can cause invalid topology

PostGIS trac at osgeo.org
Thu Oct 10 00:10:40 PDT 2024


#5795: ST_NewEdgesSplit can cause invalid topology
----------------------------+---------------------------
 Reporter:  Björn Harrtell  |      Owner:  strk
     Type:  defect          |     Status:  new
 Priority:  medium          |  Milestone:  PostGIS 3.5.1
Component:  topology        |    Version:  3.4.x
 Keywords:                  |
----------------------------+---------------------------
 Seems like the is a bug in st_newedgessplit (if I use st_modedgessplit no
 invalidity is created). If I run this:

 {{{
 select topology.droptopology('test_topo');
 select topology.createtopology('test_topo', 0, 0);
 select topology.st_addisonode('test_topo', 0, st_geomfromtext('POINT(0
 0)'));
 select topology.st_addisonode('test_topo', 0, st_geomfromtext('POINT(10
 10)'));
 select topology.st_addisoedge('test_topo', 1, 2,
 st_geomfromtext('LINESTRING(0 0, 10 0, 10 10)'));
 select topology.st_addedgenewfaces('test_topo', 2, 1,
 st_geomfromtext('LINESTRING(10 10, 0 10, 0 0)'));
 select topology.st_newedgessplit('test_topo', 1, st_geomfromtext('POINT(5
 0)'));
 select * from topology.validatetopology('test_topo');

 }}}

 Results in:

 {{{
 invalid next_right_edge 2       -4
 }}}

 postgis_full_version:

 POSTGIS="3.4.2 c19ce56" [EXTENSION] PGSQL="160" GEOS="3.12.1-CAPI-1.18.1"
 PROJ="9.4.0 NETWORK_ENABLED=OFF URL_ENDPOINT=https://cdn.proj.org
 USER_WRITABLE_DIRECTORY=/tmp/proj DATABASE_PATH=/usr/share/proj/proj.db"
 LIBXML="2.9.14" LIBJSON="0.17" LIBPROTOBUF="1.4.1" WAGYU="0.5.0
 (Internal)" TOPOLOGY
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5795>
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