v.external.out(1)

NAME
v.external.out - Defines vector output format.

KEYWORDS
vector, export, output, external, OGR, PostGIS

SYNOPSIS
v.external.out
v.external.out --help
v.external.out [-frpg] [output=string] [format=string] [options=string[,string,...]] [loadsettings=name] [savesettings=name] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

  Flags:

-f
    List supported formats and exit

-r
    Cease using OGR/PostGIS, revert to native output and exit

-p
    Print current status

-g
    Print current status in shell script style

--overwrite
    Allow output files to overwrite existing files

--help
    Print usage summary

--verbose
    Verbose module output

--quiet
    Quiet module output

--ui
    Force launching GUI dialog

  Parameters:

output=string
    Name of output directory or OGR or PostGIS data source
    Examples:
    ESRI Shapefile: directory containing a shapefile
    MapInfo File: directory containing a mapinfo file
    PostGIS database: connection string, eg. ’PG:dbname=db user=grass’

format=string
    Format for output vector data
    Options: AmigoCloud, CSV, Carto, DGN, DXF, ESRI_Shapefile, Elasticsearch, FlatGeobuf, GML, GPKG, GPSBabel, GPX, GeoJSON, GeoJSONSeq, GeoRSS, JML, JSONFG, MBTiles, MEM, MVT, MapML, NGW, ODS, OGR_GMT, OpenFileGDB, PCIDSK, PDS4, PGDUMP, PMTiles, PostgreSQL, S57, SQLite, Selafin, VDV, VICAR, WAsP, XLSX
    Default: ESRI_Shapefile

options=string[,string,...]
    Creation options
    Examples:
    ’SHPT=POINTZ’: create 3D point Shapefile data
    ’GEOM_TYPE=geography’: use geography PostGIS data
    ’SCHEMA=grass’: create new PostGIS tables in ’grass’ schema

loadsettings=name
    Name of input file to read settings from

savesettings=name
    Name for output file where to save current settings

DESCRIPTION
v.external.out instructs GRASS to write vector maps in external data format (e.g. ESRI Shapefile, Mapinfo, and others) using OGR library. PostGIS data can be also written by built-in GRASS-PostGIS data provider.

NOTES
Number of available output formats (v.external.out -f) depends on OGR installation. ’PostgreSQL’ format is presented also when GRASS comes with PostgreSQL support (check for ’--with-postgres’ in g.version -b output).

To store geometry and attribute data in PostGIS database (’PostgreSQL’ format) GRASS uses built-in GRASS-PostGIS data provider. PostGIS data can be written also by OGR library when GRASS_VECTOR_OGR environmental variable is defined or GRASS is not compiled with PostgreSQL support.

Creation options refer to the output format specified by format option. See the list of valid creation options at OGR formats specification page, example for ESRI Shapefile or PostgreSQL/PostGIS format (section "Layer Creation Options"). Options are comma-separated pairs (key=value), the options are case-insensitive, eg. options="SCHEMA=myschema,FID=cat".

  PostgreSQL/PostGIS Creation Options
Note that built-in GRASS-PostGIS data provider (format=PostgreSQL) supports different creation options compared to PostgreSQL/PostGIS driver from OGR library:

    •   SCHEMA=<name> - name of schema where to create feature tables. If schema doesn’t exists, it’s automatically created when writing PostGIS data.

    •   FID=<column> - name of column which will be used as primary key (feature id), default: fid

    •   GEOMETRY_NAME=<column> name of column which will be used for storing geometry data in feature table, default: geom

    •   SPATIAL_INDEX=YES|NO - enable/disable spatial index on geometry column, default: YES

    •   PRIMARY_KEY=YES|NO - enable/disable primary key on FID column, default: YES

    •   SRID=<value> - spatial reference identifier, default: not defined

    •   TOPOLOGY=YES|NO - enable/disable native PostGIS topology, default: NO
Options relevant only to topological output (TOPOLOGY=YES):

    •   TOPOSCHEMA_NAME=<schema name> - name of PostGIS Topology schema (relevant only for TOPOLOGY=YES), default: topo_<input>

    •   TOPOGEOM_NAME=<column> - name of column which will be used for storing topogeometry data in feature table, default: topo

    •   TOPO_TOLERANCE=<value> - tolerance for PostGIS Topology schema, see CreateTopology function for defails, default: 0

    •   TOPO_GEO_ONLY=YES|NO - store in PostGIS Topology schema only data relevant to Topo-Geo data model, default: NO

    •   SIMPLE_FEATURE=YES|NO - build simple features geometry in GEOMETRY_NAME column from topogeometry data, default: NO
Note that topological output requires PostGIS version 2 or later.

EXAMPLES

  ESRI Shapefile
v.external.out can be used along with v.external to process external geodata in GRASS while writing out the results directly eg. in ESRI Shapefile format:

# register Shapefile in GRASS mapset:
v.external input=/path/to/shapefiles layer=cities
# define output directory for GRASS calculation results:
v.external.out output=$HOME/gisoutput
# do something (here: spatial query), write output directly as Shapefile
v.select ainput=cities atype=point binput=forests btype=area operator=within output=fcities

Current settings can be printed using -p or -g flag.

v.external.out -p
output: /path/to/home/gisoutput
format: ESRI Shapefile

  PostGIS (simple features)
PostGIS data can be accessed directly using GRASS-PostGIS data provider (GRASS must be compiled with PostgreSQL support).

# register PostGIS table in GRASS mapset:
v.external output=PG:dbname=gisdb layer=cities
# define output PostGIS database for GRASS calculation results stored as simple features:
v.external.out output=PG:dbname=gisdb format=PostgreSQL
# do some processing...

Note: If the environment variable GRASS_VECTOR_OGR is defined, or GRASS is compiled without PostgreSQL support then GRASS will use PostgreSQL driver from OGR library for reading and writing PostGIS data.

  PostGIS Topology

# define output PostGIS database for GRASS calculation results stored as topological elements:
v.external.out output=PG:dbname=gisdb format=PostgreSQL options=topology=YES
# do some processing...

Note: PostGIS topological access is supported only in built-in GRASS-PostGIS data provider.

  GRASS native format
To restore original settings, ie. use the GRASS native format, type:

v.external.out -r

  Restore settings
Current settings can be stored to file by specifying output option.

# define output PostGIS database for GRASS calculation with
# results stored as topological elements:
v.external.out output=PG:dbname=gisdb format=PostgreSQL \
  options=topology=YES savesettings=gisdb_topo.txt
# ... and do some processing in PostGIS Topology

Back to native format:

v.external.out -r
# do some processing in native format

Restore previous settings from "gisdb_topo.txt" file by specifying loadsettings option.

v.external.out loadsettings=gisdb_topo.txt
# ... and do some processing in PostGIS Topology

REFERENCES

    •   GRASS-OGR data provider

    •   OGR vector library C API documentation

    •   GRASS-PostGIS data provider

    •   libpq - C Library

SEE ALSO
v.external, v.in.ogr, v.out.ogr, v.out.postgis

See also GRASS user wiki page for more examples.

AUTHOR
Martin Landa, Czech Technical University in Prague, Czech Republic (development supported by Fondazione Edmund Mach and Comune di Trento, Italy)

SOURCE CODE

Available at: v.external.out source code (history)

Accessed: Sunday Jun 28 03:49:50 2026

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

© 2003-2023 GRASS Development Team, GRASS GIS 7.8.8 Reference Manual