GRASS (Geographic Resources Analysis Support System) is an open source GIS with advanced raster and vector analytics.
GRASS started development in 1987 by USA-CERL, a branch of the U.S. Army Corps of Engineers, and was initially released in 1984 for Unix. In comparison, Esri's initial product ARC/INFO was released in 1982 as a command line GIS product on minicomputers, then on UNIX (v5.0) and Windows (v7.1). CERL stopped supporting GRASS in 1995 (v4.1) and Markus Neteler is the current project leader. The current version GRASS 7 was released in 2015.
GRASS data hierarchy:
/home/$USER/grassdata/
.PERMANENT/
mapset for base cartography.External data such as Shapefile or GeoTIFF are best stored in a directory separate from the GRASS data directory.
Figure: GRASS Directory Structure. Sourceg
General data management:
g.proj
, projection information.g.region
, computational region.g.copy
, copy data files to the current mapset.g.mapset
, mapset search path.v
Vector data: attributes/variable associated with geometric features.
Vector data model:
Topological vector digitizer:
v.in.ogr
v.extract
, selects vector objects from an existing vector map and creates a new map.v.proj
, re-projection.v.clean
, topological cleaning.v.generalize
, simplification, smoothing.v.select
, feature select operations (calling GEOS).v.overlay
, feature overlay operations.v.net
, network analysis (shortest path, subnet allocation, cost isoline, travelling salesman).v.rast.stats
, univariate statistics per vector feature based on a raster map.v.lrs
, Linear referencing (LRS).v.db
, attribute table management.v.colors
, color table of a vector map.r
& 3D Raster r3
Raster data: observation embedded in a regular geospatial grid.
Raster processing concepts:
Raster processing:
r.in.gdal
, import raster data of common formats (GeoTIFF).r.univar
, univariate analysis.r.mapcalc
, map calculation.r.surf
, generate surface map.r.grow
, grow raster map.r.tile
, split a raster map into tiles.r.cost
, r.walk
.r.watershed
, r.terraflow
, r.flow
, r.drain
, r.fill
.r.viewshed
.r.sun
, r.sunmask
.Voxel (3D raster) processing:
r3.stats
, voxel statistics.i
i.segment
, unsupervised image classification.i.pca
, Principal Components Analysis on imagery group.t
With temporal processing, GRASS GIS can handle spatio-temporal data sets.
Spatial-temporal data processing: (new in GRASS 7)
t.rast
, t.rast3d
, t.vect
(time series aggregation).db
Database integration: SQLite (default DB backend), PostgreSQL, MySQL, ODBC, DBF.
db.connect
, database connection.db.select
, select value(s) from table.d
Graphic output:
d.vect.thematic
, displays thematic vector map.GRASS GIS 7 Programmer's Manual
[GRASS does not work well with other shells, and need $SHELL be "/bin/bash".]
GRASS as an open source GIS backbone:
rgrass7
.PyGRASS
, GRASS 7 API ; PyWPS
, python web processing service (OGC Web Services).