v.in.ogr(1)

NAME
v.in.ogr - Convert OGR vectors to GRASS. Available drivers: ESRI Shapefile,MapInfo File,UK .NTF,SDTS,TIGER,S57,DGN,VRT,REC,Memory,BNA,CSV,GML,GPX,KML,GeoJSON,GMT,SQLite,ODBC,PGeo,PostgreSQL,MySQL,XPlane,AVCBin,AVCE00,Geoconcept

KEYWORDS
vector

SYNOPSIS
v.in.ogr
v.in.ogr help
v.in.ogr [-lfcztoe] dsn=string output=name [layer=string[,string,...]] [spatial=float[,float,...]] [where=sql_query] [min_area=float] [type=string[,string,...]] [snap=float] [location=string] [cnames=string[,string,...]] [--overwrite]

  Flags:

-l  List available layers in data source and exit

-f  List available formats and exit

-c  Do not clean polygons (not recommended)

-z  Create 3D output

-t  Do not create attribute table

-o  Override projection (use location's projection)

-e  Extend location extents based on new dataset

--overwrite

  Parameters:

dsn=string
    OGR datasource name. Examples:
        ESRI Shapefile: directory containing shapefiles    MapInfo File: directory containing mapinfo files

output=name
    Name for output vector map

layer=string[,string,...]
    OGR layer name. If not given, all available layers are imported. Examples:
        ESRI Shapefile: shapefile name    MapInfo File: mapinfo file name

spatial=float[,float,...]
    Import subregion only (xmin,ymin,xmax,ymax - usually W,S,E,N)

where=sql_query
    WHERE conditions of SQL statement without 'where' keyword. (example: income = 10000)

min_area=float
    Minimum size of area to be imported (square units). Smaller areas and islands are ignored. Should be greater than snap^2 Default: 0.0001

type=string[,string,...]
    Optionaly change default input type:
         point -> import area centroids as points     line -> import area boundaries as centroids     boundary -> import lines as area boundaries     centroid -> import points as centroids
    Options: point,line,boundary,centroid Default:

snap=float
    Snapping threshold for boundaries. -1 for no snap Default: -1

location=string
    Name for new location to create

cnames=string[,string,...]
    List of column names to be used instead of original names, first is used for category column

DESCRIPTION
v.in.ogr converts OGR vectors to GRASS. OGR (Simple Features Library) is part of the GDAL library, so you need to install GDAL to use v.in.ogr.

If the layer parameter is not given, all available layers are imported.

The optional spatial parameter defines spatial query extents. This parameter allows to restrict the region to a spatial subset while importing the data. All vector completely or partially falling into this rectangle subregion are imported.

Topology cleaning on areas is automatically performed, but may fail in special cases (then use v.clean).

  Supported OGR Vector Formats
ESRI Shapefile
Mapinfo File

Further available drivers such as UK .NTF, SDTS, TIGER, IHO S-57 (ENC), DGN, GML, AVCBin, REC, Memory, OGDI, and PostgreSQL depend on the local installation (OGR library), for details see OGR web site.

Location Creation
v.in.ogr attempts to preserve projection information when importing datasets if the source format includes projection information, and if the OGR driver supports it. If the projection of the source dataset does not match the projection of the current location v.in.ogr will report an error message ("Projection of dataset does not appear to match current location") and then report the PROJ_INFO parameters of the source dataset.

If the user wishes to ignore the difference between the apparent coordinate system of the source data and the current location, they may pass the -o flag to override the projection check.

If the user wishes to import the data with the full projection definition, it is possible to have v.in.ogr automatically create a new location based on the projection and extents of the file being read. This is accomplished by passing the name to be used for the new location via the location parameter. Upon completion of the command, a new location will have been created (with only a PERMANENT mapset), and the vector map will have been imported with the indicated output name into the PERMANENT mapset.

EXAMPLES
The command imports various vector formats:

        SHAPE files
        v.in.ogr dsn=/home/user/shape_data layer=test_shape output=grass_map

        MapInfo files
        v.in.ogr dsn=./ layer=mapinfo_test output=grass_map

        Arc Coverage
        We import the Arcs and Label points, the module takes care to build areas:
        v.in.ogr dsn=gemeinden layer=LAB,ARC type=centroid,boundary output=mymap

        E00 file (see also v.in.e00)
        First we have to convert the E00 file to an Arc Coverage with 'avcimport' (AVCE00 tools, use e00conv first in case that avcimport fails):
        avcimport e00file coverage
        v.in.ogr dsn=coverage layer=LAB,ARC type=centroid,boundary output=mymap

        SDTS files (you have to select the CATD file)
        v.in.ogr dsn=CITXCATD.DDF output=cities

        TIGER files
        v.in.ogr dsn=input/2000/56015/ layer=CompleteChain,PIP output=t56015_all \
        type=boundary,centroid snap=-1

        PostGIS maps (area example)
        v.in.ogr dsn="PG:host=localhost dbname=postgis user=postgres" layer=polymap \
        output=polygons type=boundary,centroid

        Oracle Spatial maps
        Note that you have to set the environment-variables ORACLE_BASE, ORACLE_SID, ORACLE_HOME and TNS_ADMIN accordingly.
        v.in.ogr dsn=OCI:username/password@database_instance output=grasslayer layer=roads_oci

  Support of database schema:

For schema support, first set a default schema with db.connect. If schema support is used the schema name must be specified whenever a db.* module is called.

Example:
  db.connect driver=pg database=test schema=user1 group=group1
  db.login driver=pg database=test user=user1 password=pwd1
  v.in.ogr dsn=./ layer=river output=river # -> table user1.river
  db.select table=user1.river
The user can ignore schemas, if desired:
  db.connect driver=pg database=test
  db.login driver=pg database=test user=user1 password=pwd1
  v.in.ogr dsn=./ layer=river output=river # -> table public.river
  db.select table=river

NOTES
The characters used for table column names are limited. Supported are:
[A-Za-z][A-Za-z0-9_]*
This means that SQL neither supports '.' (dots) nor '-' (minus) nor '#' in table column names. Also a table name must start with a character, not a number.
v.in.ogr converts '.', '-' and '#' to '_' (underscore) during import. Use the cnames parameter to define new column names during import.

The DBF database specification limits column names to 10 characters. If the default DB is set to DBF and the input data contains longer column/field names, they will be truncated. If this results in multiple columns with the same name then v.in.ogr will produce an error. In this case you will either have to modify the input data or use v.in.ogr's cnames parameter to rename columns to something unique. (hint: copy & modify the list given with the error message). Alternatively, change the local DB with db.connect.

If a message like "WARNING: Area size 1.3e-06, area not imported." appears, the min_area may be adjusted to a smaller value so that all areas are imported. Otherwise tiny areas are filtered out during import (useful to polish digitization errors or non-topological data).

REFERENCES
OGR vector library
OGR vector library C API documentation

SEE ALSO
db.connect, v.clean, v.build.polylines, v.external, v.in.db, v.in.e00, v.out.ogr

AUTHOR
Radim Blazek, ITC-Irst, Trento, Italy
Location and spatial extent support by Markus Neteler and Paul Kelly

Last changed: $Date: 2007/07/09 15:01:10 $

Full index