GRASS is a complete, hybrid, modularly-structured GIS with raster and vector functions. Each GIS function is managed by its own module. Thus, the system is clearly structured and appears transparent. Another advantage of this modularity is that only necessary modules are executed, which preserves system resources.
Currently three graphical user interfaces (GUI) are available in addition to the traditional command line. The default GUI is the GIS manager. The map viewer NVIZ includes support for raster, vector, volume display, animations, profiles and more (see figures 2 and 3).
An external project, the user-friendly geodata viewer QGIS, provides direct support for GRASS. From QGIS version 0.7 onwards an extensive GRASS interface with on screen digitizer and GIS functionality is included. Also included is a new map composer tool for paper map production (see figure 4).
Finally, there is JAVAGRASS (JGRASS), which is a multi-platform, multi-session GRASS framework (see figure 5). JGRASS packages GRASS to be used in production environments as opposed to research environments. The architecture of JGRASS follows a client-server model internally, separating the Graphical User Interface (GUI) from the spatial processing engine. This separation allows the easy development of remote access capabilities.
| GRASS Command Overview | |||
| prefix | function class | type of command | example |
|---|---|---|---|
| d.* | display | graphical output | d.rast: views raster map |
| d.vect: views vector map | |||
| db.* | database | database management | db.select: selects value(s) from table |
| g.* | general | general file operations | g.rename: renames map |
| i.* | imagery | image processing | i.smap: image classifier |
| ps.* | postscript | map creation format | ps.map: map creation |
| in Postscript | |||
| r.* | raster | raster data processing | r.buffer: buffer around raster features |
| r.mapcalc: map algebra | |||
| r3.* | voxel | raster voxel data processing | r3.mapcalc: volume map algebra |
| v.* | vector | vector data processing | v.overlay: vector map intersections |
Online help in a HTML browser: g.manual <command> &
Online help in MAN format: g.manual -m <command>
In the next section we show a sample session.