GRASS (Geographic Resources Analysis Support System) is an open source GIS with very advanced features for raster and vector analysis.

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.

Database Structure

  1. GRASS database: the root directory of GRASS data, typically /home/$USER/grassdata/.
  2. Location: Each Location is defined by a projection, and has a PERMANENT/ mapset for base cartography.
  3. Mapset: a collection of geometric features and attribute data; structure depends on data format and is managed by GRASS.
Figure: GRASS Directory Structure. Source

Modules

Figure: GRASS 7 Architecture. Source

Vector v

topological vector digitizer

  • v.in.ogr
  • v.proj, re-projection.
  • v.select, feature select operations (GEOS)
  • v.overlay, feature overlay operations
  • v.extract, selects vector objects from an existing vector map and creates a new map.
  • v.generalize, simplification, smoothing.
  • v.net, network analysis (shortest path, subnet allocation, cost isoline, travelling salesman);
  • v.lrs, Linear referencing (LRS)

Raster r

  • r.in.gdal
  • r.cost, cost surface.

Voxel (3D Raster) r3

image i

  • i.segment, unsupervised image classification

Database db

Database integration: SQLite (default DB backend), PostgreSQL, MySQL, ODBC, DBF.

Display d

d.vect.thematic Displays thematic vector map

Temporal t

Temporal data processing (new in GRASS 7)

  • data types: t.rast, t.rast3d, t.vect
  • animation

API

GRASS GIS 7 Programmer's Manual

GRASS as an open source GIS backbone:

  • R: Start R or RStudio in a GRASS console, then load rgrass7.
  • Python: PyGRASS, GRASS 7 API ; PyWPS, python web processing service (OGC Web Services).
  • QGIS: calls GRASS either via Toolbox (direct connection) or Processing (virtual session).
  • ParaView (visualization)

🏷 Category=Geographic Information System