[GRASS-dev] Output to Postgis Topology very slow

Martin Landa landa.martin at gmail.com
Thu May 29 03:15:41 PDT 2014


Hi,

2014-05-06 16:28 GMT+02:00 Rémi Cura <remi.cura at gmail.com>:

first of all, thanks for testing!

> (http://trac.osgeo.org/postgis/ticket/2695), few sec to import it into grass
> , few sec to build topology in grass, several minutes to push it into
> PostGIS topology.

[...]

> So far I found that the only sql function used by grass are
> topology.createtopology
> topology.addtopogeometrycolumn
> topology.addnode
> topology.addedge
> I replaced the 2 last with empty function (returning 1) and that doesn't
> change the execution time (meaning slowness comes from grass side).

GRASS uses by default only createtopology() and
addtopogeometrycolumn(). Other functions from PostGIS Topology are not
used at all. Adding, deleting or modifying topological elements are
done by simple insert/delete/update SQL statements.

> My command lines executed on grass svn 7 on windows XP (server has latest
> postgres postgis geos gdal on ubuntu 12.04 virtual box) are:
>
> v.external.out dsn="PG:host=localhost dbname=test_grass port=5433
> user=postgres password=yourguess" format=PostgreSQL
> options="TOPOLOGY=yes,SCHEMA=test_route_utf8_4,TOPOSCHEMA_NAME=toposchema,TOPOGEOM_NAME=tg,TOPO_TOLERANCE=0.1,TOPO_GEO_ONLY=NO,SIMPLE_FEATURE=NO"
>
> time v.in.ogr dsn="....myshapefile.shp"
> -t output=test --overwrite

[...]

> _1. Can somebody please confirm that grass is building the topology on the
> vector layer before exporting it? (it seems to also build a topolgy after
> export)

First `v.in.ogr` builds topology in native format, than it copies
topological elements to DB and after that updates topological
information (left/right face/edge...) in DB. There seems to be problem
with copying elements to DB. I will try to fix during this or the next
week.

Martin

-- 
Martin Landa * http://geo.fsv.cvut.cz/gwiki/Landa


More information about the grass-dev mailing list