1v.out.postgis(1) Grass User's Manual v.out.postgis(1)
2
3
4
6 v.out.postgis - Exports a vector map layer to PostGIS feature table.
7
9 vector, export, PostGIS, simple features, topology, 3D
10
12 v.out.postgis
13 v.out.postgis --help
14 v.out.postgis [-tl2] input=name [type=string[,string,...]]
15 [layer=string] output=string [output_layer=name] [output_link=name]
16 [options=key=value[,key=value,...]] [--overwrite] [--help] [--ver‐
17 bose] [--quiet] [--ui]
18
19 Flags:
20 -t
21 Do not export attribute table
22
23 -l
24 Export PostGIS topology instead of simple features
25
26 -2
27 Force 2D output even if input is 3D
28 Useful if input is 3D but all z coordinates are identical
29
30 --overwrite
31 Allow output files to overwrite existing files
32
33 --help
34 Print usage summary
35
36 --verbose
37 Verbose module output
38
39 --quiet
40 Quiet module output
41
42 --ui
43 Force launching GUI dialog
44
45 Parameters:
46 input=name [required]
47 Name of input vector map
48
49 type=string[,string,...]
50 Input feature type
51 Options: point, line, boundary, centroid, area, face, kernel, auto
52 Default: auto
53
54 layer=string
55 Layer number or name
56 Default: 1
57
58 output=string [required]
59 Name for output PostGIS datasource
60 Starts with ’PG’ prefix, eg. ’PG:dbname=grass’
61
62 output_layer=name
63 Name for output PostGIS layer
64 If not specified, input name is used
65
66 output_link=name
67 Name for output vector map defined as a link to the PostGIS feature
68 table
69 If not specified, the vector link is not created. The link can be
70 also manually created by ’v.external’ module.
71
72 options=key=value[,key=value,...]
73 Creation options
74 Examples:
75 ’FID=cat’: define feature id column ’cat’
76 ’GEOMETRY_NAME=wkb_geometry’: define geometry column ’wkb_geometry’
77 ’SPATIAL_INDEX=NO’: do not create spatial index on geometry column
78
80 v.out.postgis exports an existing GRASS vector map layer to PostGIS
81 feature table. Features without category are skipped.
82
83 By default GRASS GIS topological features are converted into simple
84 features (see OGC Simple Feature Access specification for details).
85 Flag -l allows to export vector features as topological elements stored
86 in PostGIS Topology schema. Note that topological export requires Post‐
87 GIS version 2 or later.
88
89 Additional creation options can be defined by options parameter:
90
91 · FID=<column> - name of column which will be used as primary key
92 (feature id), default: fid
93
94 · GEOMETRY_NAME=<column> name of column which will be used for
95 storing geometry data in feature table, default: geom
96
97 · SPATIAL_INDEX=YES|NO - enable/disable creating spatial index on
98 geometry column, default: YES
99
100 · PRIMARY_KEY=YES|NO - enable/disable adding primary key on FID
101 column, default: YES
102
103 · SRID=<value> - spatial reference identifier, default: not
104 defined
105 PostGIS Topology related options (relevant only for -l flag):
106
107 · TOPOSCHEMA_NAME=<schema name> - name of PostGIS Topology
108 schema, default: topo_<input>
109
110 · TOPOGEOM_NAME=<column> - name of column which will be used for
111 storing topogeometry data in feature table, default: topo
112
113 · TOPO_TOLERANCE=<value> - tolerance for PostGIS Topology schema,
114 see CreateTopology function for defails, default: 0
115
116 · TOPO_GEO_ONLY=YES|NO - store in PostGIS Topology schema only
117 data relevant to Topo-Geo data model, default: NO
118
119 Creation options are comma-separated pairs (key=value), the options are
120 case-insensitive. Note that options defined by v.external.out are
121 ignored by v.out.postgis.
122
123 v.out.postgis optionally also creates a new vector map in the current
124 mapset if output_link is defined.
125
127 By default v.out.postgis exports vector data as simple features, ie.
128 boundaries and centroids (forming topological areas) become polygons,
129 isles become holes. Geometry of simple feature elements is stored in
130 PostGIS feature table in the column named "geom". Name of the geometry
131 column can be changed by options=GEOMETRY_NAME=<column>. Note that for
132 exporting vector features as simple features can be alternatively used
133 PostgreSQL driver from OGR library through v.out.ogr module.
134
135 Also note that it’s allowed to store in the feature table only features
136 of the same type, ie. mixing of points and lines is not currently pos‐
137 sible. The feature type is determined for output feature table from the
138 first vector feature accessing data sequentially (type=auto). Vector
139 features of other types are during export skipped. User can choose
140 preferable feature type by type parameter. Only single type is cur‐
141 rently allowed (see TODO section for details).
142
143 v.out.postgis currently supports only three basic output simple feature
144 types: Points, Linestrings and Polygons. Also 3D features of the same
145 type are supported, eg. 3D points are exported as PointZ simple fea‐
146 ture. Faces are exported as 3D polygons. 3D features are written to the
147 output automatically if input vector map is 3D. If -2 flag is given
148 then the output is always 2D (z-coordinate is silently ignored for 3D
149 input vector maps).
150
151 Multigeometries are not currently supported. Features with the same
152 category are exported as multiple singe features.
153
154 v.out.postgis also allows exporting vector features as topological ele‐
155 ments in PostGIS Topology schema. PostGIS Topology extension uses three
156 tables to store basic topological elements which forms topological
157 objects like areas or isles in GRASS terminology. Nodes (0-dimensional
158 topological elements) are stored in "node" table, edges (1-dimensional
159 elements) in "edge" table and faces (2-dimensional elements) in "face"
160 table.
161
162 · GRASS nodes are stored in node table
163
164 · GRASS points are stored in node table as regular nodes
165
166 · GRASS centroids are stored in node table as regular nodes
167 ("containing_face" refers to related area)
168
169 · GRASS lines are stored in edge table
170
171 · GRASS boundaries are stored in edge table
172
173 · GRASS areas are stored in face table
174 Tables node, edge and face are stored in given topological schema. By
175 default v.out.postgis defines its name as topo_<input>. Alternatively,
176 the name for topology schema can be defined by
177 options=TOPOSCHEMA_NAME=<name>.
178
180 Export Simple Features
181 Export vector map "urbanarea" as feature table "urbanarea" located in
182 database "grass", schema "public". Note that this database schema is
183 automatically used when not defined by the user.
184 v.out.postgis input=urbanarea output="PG:dbname=grass"
185 GRASS areas are converted into polygons, isles into holes. We can check
186 the number or created polygons by simple SQL query below.
187 db.select driver=pg database=grass \
188 sql="SELECT ST_GeometryType(geom) as geom_type, count(*) from urbanarea group by geom_type"
189 geom_type|count
190 ST_Polygon|657
191 Note: same procedure can be done by v.out.ogr module, eg.
192 v.out.ogr input=urbanarea output="PG:dbname=grass" format=PostgreSQL
193 In this case GRASS vector data are exported to PostGIS database using
194 OGR library, namely using PostgreSQL driver. Contrary to the v.out.ogr
195 module, v.out.postgis is using directly PostGIS data provider which is
196 part of GRASS vector engine. Beside that, v.out.postgis is optimized
197 for PostGIS export including topological access to the data.
198
199 Export data into specific database schema
200 Database schema for storing exported data can be defined by out‐
201 put_layer as <schema_name>.<table_name>. If the specified schema
202 doesn’t exist in the database, then it’s automatically created.
203
204 Export vector map "bridges" as feature table in database schema "gras‐
205 sout".
206 v.out.postgis input=bridges output="PG:dbname=grass" output_layer=grassout.bridges
207
208 Export data with creation options
209 Example below demonstrates how to define name for geometry column and
210 disable building spatial index. Spatial reference system is defined by
211 srid identifier which corresponds in this case with EPSG 3358 (North
212 Carolina dataset).
213 v.out.postgis input=roadsmajor output="PG:dbname=grass" options="GEOMETRY_NAME=wkb_geometry,SPATIAL_INDEX=NO,SRID=3358"
214
215 Link exported data
216 Exported data can be linked as vector map created in the current mapset
217 by specifying output_link parameter. In the example below vector map
218 "busstopsall" from PERMANENT mapset is exported into "grass" PostGIS
219 database. v.out.postgis after successful export also creates in the
220 current mapset GRASS vector map as a link to the PostGIS feature table.
221 v.out.postgis input=busstopsall@PERMANENT output="PG:dbname=grass" output_link=busstopsall_pg
222 Created link can be checked by v.info:
223 v.info busstopsall_pg
224 ...
225 |----------------------------------------------------------------------------|
226 | Map format: PostGIS (PostgreSQL) |
227 | DB table: public.busstopsall |
228 | DB name: grass |
229 | Geometry column: geom |
230 | Feature type: point |
231 | Topology: pseudo (simple features) |
232 |----------------------------------------------------------------------------|
233 ...
234
235 Export data without attributes
236 v.out.postgis allows ignoring attributes when exporting vector features
237 by specifying -t flag. Command below exports vector features without
238 attributes. The feature will contain only two columns, the fid and
239 geometry column.
240 v.out.postgis -t input=railroads output="PG:dbname=grass"
241
242 Export topological data
243 By default v.out.postgis exports data as simple features. Flag -l
244 allows exporting data as topological elements instead of simple fea‐
245 tures. Export topological elements is stored in PostGIS Topology
246 schema.
247 v.out.postgis -l input=busroutesall output="PG:dbname=grass"
248 For more info about PostGIS Topology implementation in GRASS see the
249 wiki page.
250
252 · Multi-feature export
253
254 · Allow mixed features (points, lines)
255
256 · Support other simple feature types like GeometryCollection and
257 others
258
259 · Implement missing options from v.out.ogr: -a, -s, -c, -p, -n
260
261 · Add options: cats, where
262
264 · PostGIS 2.x or later for topological export (flag -l)
265
267 · OGC Simple Feature Access specification
268
269 · PostGIS Topology documentation
270
271 · GRASS-PostGIS data provider
272
274 v.out.ogr, v.external, v.external.out, v.in.ogr
275
276 See also PostGIS and PostGIS Topology wiki page from GRASS User Wiki.
277
279 Martin Landa, Czech Technical University in Prague, Czech Republic
280 (development supported by Fondazione Edmund Mach and Comune di Trento,
281 Italy)
282
283 Last changed: $Date: 2015-11-24 09:07:58 +0100 (Tue, 24 Nov 2015) $
284
286 Available at: v.out.postgis source code (history)
287
288 Main index | Vector index | Topics index | Keywords index | Graphical
289 index | Full index
290
291 © 2003-2019 GRASS Development Team, GRASS GIS 7.4.4 Reference Manual
292
293
294
295GRASS 7.4.4 v.out.postgis(1)