On Tue, Feb 25, 2020 at 12:10:07PM +0000, paul.m...@lfv.se wrote:
> 
> Hi,
> I'm running this command:
> SELECT topology.ST_CreateTopoGeo('topo1',ST_Collect("geom")) from 
> "countries_first";
> 
> and are getting this message:
> ERROR: Corrupted topology: adjacent edges 71 and -72 bind different face (36 
> and 0) CONTEXT: SQL-sats: "SELECT topology.ST_AddEdgeModFace(atopology, 
> snode_id, enode_id, rec.geom)" PL/pgSQL-funktion 
> topology.st_createtopogeo(character varying,geometry) row 151 at PERFORM SQL 
> state: XX000
> 
> I've tried running ST_Makevalid on "countries_first" (polygon layer) before 
> executing ST_CreateTopoGeo
> Is there anyone who has a clue on what is wrong?

It's probably just a robustness issue.

What ST_CreateTopoGeo does, at the moment, is invoking
TopoGeo_AddPoint for each point and TopoGeo_AddLinestring
for each line in your collected input.

You could do the same yourself, to stop on first failure
and see what's wrong. Most of the times  playing a bit with
different tolerances can help get past an hard-to-digest
input.

PS: it helps showing output of `postgis_full_version()` when
    reporting issues

--strk;
_______________________________________________
postgis-users mailing list
postgis-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/postgis-users

Reply via email to