GRASS 6 Tutorial/Vector data management

From GRASS-Wiki
Jump to navigation Jump to search

Vector data management


The native GRASS vector format provides:

  • Vector topology
  • m:n mapping of geometry features to attributes
  • Vector layers
  • OGC Simple Features <-> Topological Vector Conversion
  • Database Management system (DBMS)
  • SQLite, PostgreSQL + PostGIS, MySQL, ODBC (, DBF)

The vector geometry types supported in GRASS includes:

  • Point
  • Centroid
  • Line
  • Boundary
  • Area (Boundaries + Centroid)
  • Face (3D Area)
  • [Kernel (3D Centroid)]
  • [Volumes (Faces + Kernel)]

All types are true 3D: x,y,z

The examples that follow in this section on vector data management are based on the datasets available here

Import/Export of Vector data

The GRASS modules* and v.out.* handle the importing and exporting of Vector datasets. is widely used and has simplified the import of vector data; OGR itself support a wide range of formats. v.out.ogr always exports the entire vector map

Importing an ESRI Shapefile

The following code snippet is a simple usage of, which imports an ESRI Shapefile into the native vector format: dsn=boundary_county.shp out=boundary_county 

However, has many options to import subsets (defined spatially or by SQL) and vector types

The same can be achieved using the GRASS Graphical Interface. The Vector import interface can be accessed through the vector layer manager:

Vector layer manager.png Vector layer import.png

You can easily import a subset of your data by specifying the spatial extent or an SQL query defined within the where command line argument: --o dsn=./ output=subset layer=boundary_county where="NAME = 'DUPLIN' OR NAME = 'WAKE'"
| Layer:           subset                                                    |
| Mapset:          PERMANENT                                                 |
| Location:        nc_spm_08_geostat                                         |
| Database:        /home/daniel/GRASSWiki/data                               |
| Title:                                                                     |
| Map scale:       1:1                                                       |
| Map format:      native                                                    |
| Name of creator: daniel                                                    |
| Organization:                                                              |
| Source date:     Wed Nov  7 16:10:01 2012                                  |
|   Type of Map:  vector (level: 2)                                          |
|                                                                            |
|   Number of points:       0               Number of areas:      2          |
|   Number of lines:        0               Number of islands:    2          |
|   Number of boundaries:   2               Number of faces:      0          |
|   Number of centroids:    2               Number of kernels:    0          |
|                                                                            |
|   Map is 3D:              No                                               |
|   Number of dblinks:      1                                                |
|                                                                            |
|         Projection: Lambert Conformal Conic                                |
|               N:   258121.97732598    S:   106860.16001618                 |
|               E:   732841.78315847    W:   610047.98051883                 |
|                                                                            |
|   Digitization threshold: 0                                                |
|   Comments:                                                                |
|                                                                            |

Virtual link an ESRI Shapefile

If you prefer not to import your vector datasets into the native GRASS vector format, you can create a virtual link to it using v.external

This can be done as follows:

v.external dsn=./ output=boundary_county layer=boundary_county
Building topology for vector map <boundary_county>...
Number of nodes: 1707
Number of primitives: 1981
Number of points: 0
Number of lines: 0
Number of boundaries: 1055
Number of centroids: 926
Number of areas: 1055 
Number of isles: 1055
Number of areas without centroid: 129

Introductory information on vector data processing is available from the help manual.

Grass Six Tutorial Default Settings

      -  Default settings for vector geometry;
         for vector attributes; for db.* modules

Grass Six Tutorial Geometry Management

       -  General notes on Geometry 
         management; Managing the default settings; 
         GRASS vector architecture; Geometry stored in native format;
         Geometry stored in SHAPE file; 
         Import/export of vector data Geometry;
         Generating vector geometry from various sources

Grass Six Tutorial Attribute Management

       - General notes on Attribute 
         management; Managing the default settings; Examples;
         Database Schema