[postgis-tickets] [PostGIS] #5293: toTopoGeom: corrupted topology: face xxx could not be constructed only from edges knowing about it (like edge yyy).

PostGIS trac at osgeo.org
Mon Nov 28 00:12:44 PST 2022


#5293: toTopoGeom: corrupted topology: face xxx could not be constructed only from
edges knowing about it (like edge yyy).
----------------------+---------------------------
 Reporter:  strk      |      Owner:  strk
     Type:  defect    |     Status:  new
 Priority:  medium    |  Milestone:  PostGIS 3.4.0
Component:  topology  |    Version:  master
 Keywords:            |
----------------------+---------------------------
 Single-process incremental population of a topology resulted in receiving
 corrupted-topology messages:

 {{{
 toto=# update uso_suolo set tgeom = totopogeom(cgeom, 'topo_uso_suolo', 1,
 1e-3) where id < 1000;
 UPDATE 999
 Time: 2787.209 ms (00:02.787)
 toto=# update uso_suolo set tgeom = totopogeom(cgeom, 'topo_uso_suolo', 1,
 1e-3) where id between 1001 and 3000;
 UPDATE 2000
 Time: 6922.480 ms (00:06.922)
 toto=# update uso_suolo set tgeom = totopogeom(cgeom, 'topo_uso_suolo', 1,
 1e-3) where id between 3001 and 5000;
 UPDATE 2000
 Time: 26212.861 ms (00:26.213)
 toto=# update uso_suolo set tgeom = totopogeom(cgeom, 'topo_uso_suolo', 1,
 1e-3) where id between 5001 and 6000;
 UPDATE 1000
 Time: 3472.713 ms (00:03.473)
 toto=# update uso_suolo set tgeom = totopogeom(cgeom, 'topo_uso_suolo', 1,
 1e-3) where id between 6001 and 10000;
 UPDATE 4000
 Time: 68680.044 ms (01:08.680)
 toto=# update uso_suolo set tgeom = totopogeom(cgeom, 'topo_uso_suolo', 1,
 1e-3) where id between 10001 and 15000;
 UPDATE 5000
 Time: 160572.868 ms (02:40.573)
 toto=# update uso_suolo set tgeom = totopogeom(cgeom, 'topo_uso_suolo', 1,
 1e-3) where id between 15001 and 20000;
 NOTICE:  Corrupted topology: face 6269 could not be constructed only from
 edges knowing about it (like edge 43264).
 NOTICE:  Corrupted topology: face 4989 could not be constructed only from
 edges knowing about it (like edge 43601).
 NOTICE:  Corrupted topology: face 14444 could not be constructed only from
 edges knowing about it (like edge 43499).
 NOTICE:  Corrupted topology: face 4989 could not be constructed only from
 edges knowing about it (like edge 43601).
 UPDATE 642
 Time: 18218.007 ms (00:18.218)
 }}}

 It looks like topology was corrupted in one of the first steps.
 I'm opening the ticket without much detail to not forget about it. The
 plan is to add more detail later, when found.

 PostGIS full version is:

 > POSTGIS="3.4.0dev 3.3.0rc2-330-gb4e198bf3" [EXTENSION] PGSQL="130"
 GEOS="3.11.0dev-CAPI-1.16.0" PROJ="8.2.1" LIBXML="2.9.13" LIBJSON="0.15"
 LIBPROTOBUF="1.3.3" WAGYU="0.5.0 (Internal)" TOPOLOGY

 The topology is in meters so we're talking about a "snap tolerance" of
 1mm.
-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5293>
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