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:

    No architecture is so haughty as that which is simple.
    John Ruskin (1819–1900)

    In short, the building becomes a theatrical demonstration of its functional ideal. In this romanticism, High-Tech architecture is, of course, no different in spirit—if totally different in form—from all the romantic architecture of the past.
    Dan Cruickshank (b. 1949)

    It seems a fantastic paradox, but it is nevertheless a most important truth, that no architecture can be truly noble which is not imperfect.
    John Ruskin (1819–1900)