GRASS GIS - Architecture

Architecture

GRASS supports raster and vector data in two and three dimensions. The vector data model is topological, meaning that areas are defined by boundaries and centroids; boundaries cannot overlap within a single layer. This is in contrast with OpenGIS Simple Features, which define vectors more freely, much as a non-georeferenced vector illustration program does.

GRASS is designed as an environment in which tools that perform specific GIS computations are executed. Unlike GUI-based application software, the GRASS user is presented with a UNIX shell containing a modified environment that supports the execution of GRASS commands (known as modules). The environment has a state that includes such parameters as the geographic region covered and the map projection in use. All GRASS modules read this state and additionally are given specific parameters (such as input and output maps, or values to use in a computation) when executed. The majority of GRASS modules and capabilities can be operated via a graphical user interface (provided by a GRASS module), as an alternative to manipulating geographic data in a shell.

There are over 300 core GRASS modules included in the GRASS distribution, and over 100 add-on modules created by users and offered on the GRASS web site. The GRASS libraries and core modules are written in C; other modules are written in C, C++, Python, UNIX shell, Tcl, or other scripting languages. The GRASS modules are designed under the Unix philosophy and hence can be combined using shell scripting to create more complex or specialized modules by a user without knowledge of C programming.

GRASS 6.4.0 introduced a new generation of graphical user interface called wxGUI. wxGUI is designed using Python programming language and wxPython graphical library.

There is cooperation between the GRASS and Quantum GIS (QGIS) projects. Recent versions of QGIS can be executed within the GRASS environment, allowing QGIS to be used as a user-friendly graphical interface to GRASS that more closely resembles other graphical GIS software than does the shell-based GRASS interface.

Another project exists to re-implement GRASS in Java as JGRASS.

Read more about this topic:  GRASS GIS

Famous quotes containing the word architecture:

    The principle of the Gothic architecture is infinity made imaginable.
    Samuel Taylor Coleridge (1772–1834)

    They can do without architecture who have no olives nor wines in the cellar.
    Henry David Thoreau (1817–1862)

    Defaced ruins of architecture and statuary, like the wrinkles of decrepitude of a once beautiful woman, only make one regret that one did not see them when they were enchanting.
    Horace Walpole (1717–1797)