GRASS logo

NAME - Builds PostGIS topology for vector map linked via v.external.


vector, external, PostGIS, topology

SYNOPSIS --help [-p] map=name [topo_schema=name] topo_column=name [tolerance=float] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Don't execute SQL statements, just print them and exit
Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


map=name [required]
Name of vector map
Name of schema where to build PostGIS topology
Default: topo_<map>
topo_column=name [required]
Name of topology column
Default: topo
Tolerance to snap input geometry to existing primitives
Default: 1

Table of contents

DESCRIPTION builds PostGIS topology for feature tables linked via v.external.


Note that PostGIS Topology extension is currently under development. requires PostGIS 2.0.0+.

Existing PostGIS topology schema can be overwrite by --overwrite flag. calls PostGIS functions:

  1. CreateTopology() to create topology schema in the database,
  2. AddTopoGeometryColumn() to add a topogeometry column to an existing feature table, and
  3. toTopoGeom() to create a new topo geometry from the simple feature geometry.


Workflow example

Export vector map into PostGIS:
v.out.ogr input=bridges output=PG:dbname=pgis_nc format=PostgreSQL
Create a new vector map as a link to PostGIS table:
v.external input=PG:dbname=pgis_nc layer=bridges
Check metadata: map=bridges

 | Map format:      PostGIS (PostgreSQL)                                      |
 | DB table:        public.bridges                                            |
 | DB name:         pgis_nc                                                   |
 | Geometry column: wkb_geometry                                              |
 | Feature type:    point                                                     |
Build PostGIS topology for the link: map=bridges

Topology topo_bridges (6), SRID 900914, precision 1
10938 nodes, 0 edges, 0 faces, 10938 topogeoms in 1 layers
Layer 1, type Puntal (1), 10938 topogeoms
 Deploy: public.bridges.topo

Dry run

For testing issues use -p flag. map=bridges

Creating new topology schema...

SELECT topology.createtopology('topo_bridges', \
find_srid('public', 'bridges', 'wkb_geometry'), 1)

Adding new topology column...

SELECT topology.AddTopoGeometryColumn('topo_bridges', \
'public', 'bridges', 'topo', 'point')

Building PostGIS topology...

UPDATE bridges SET topo = topology.toTopoGeom(wkb_geometry, \
'topo_bridges', 1, 1)

SELECT topology.TopologySummary('topo_bridges')


v.external, v.out.ogr, v.out.postgis,


Martin Landa, Czech Technical University in Prague, Czech Republic

Last changed: $Date: 2014-12-04 22:52:06 +0100 (Thu, 04 Dec 2014) $


Available at: source code (history)

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

© 2003-2017 GRASS Development Team, GRASS GIS 7.2.3svn Reference Manual