GRASS GIS
Encyclopedia
GRASS GIS is a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

, open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 geographical information system (GIS) capable of handling raster
Raster graphics
In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...

, topological vector, image processing
Image processing
In electrical engineering and computer science, image processing is any form of signal processing for which the input is an image, such as a photograph or video frame; the output of image processing may be either an image or, a set of characteristics or parameters related to the image...

, and graphic
Computer graphics
Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....

 data.

GRASS is released under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 (GPL), and it can be used on multiple platforms, including Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 and Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

. Users can interface with the software features through a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 (GUI) or by "plugging into" GRASS via other software such as Quantum GIS
Quantum GIS
Quantum GIS is a free software desktop Geographic Information Systems application that provides data viewing, editing, and analysis capabilities.-Development:...

. They can also interface with the modules directly through a bespoke shell
Shell (computing)
A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web...

 that the application launches or by calling individual modules directly from a standard shell.

The GRASS 6 release introduced a new topological 2D/3D vector engine and support for vector network analysis. Attributes are managed in .dbf
DBASE
dBase II was the first widely used database management system for microcomputers. It was originally published by Ashton-Tate for CP/M, and later on ported to the Apple II and IBM PC under DOS...

 files or SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

-based DBMS such as MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

, PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

/PostGIS
PostGIS
PostGIS is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium .-Features:...

, and SQLite
SQLite
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...

. The system is capable of visualizing 3D
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...

 vector graphics
Vector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...

 data and voxel
Voxel
A voxel is a volume element, representing a value on a regular grid in three dimensional space. This is analogous to a pixel, which represents 2D image data in a bitmap...

 volumes. GRASS supports an extensive range of raster and vector formats through the binding to GDAL/OGR libraries
GDAL
GDAL is a library for reading and writing raster geospatial data formats, and is released under the permissive X/MIT style free software license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model to the calling application for all supported formats...

, including OGC-conformal (Open Geospatial Consortium
Open Geospatial Consortium
The Open Geospatial Consortium , an international voluntary consensus standards organization, originated in 1994. In the OGC, more than 400 commercial, governmental, nonprofit and research organizations worldwide collaborate in a consensus process encouraging development and implementation of open...

) Simple Features
Simple Features
Simple feature access , is both an OpenGIS and ISO Standard that specifies a common storage model of geographical data using well-known text . The geometries are also associated with spatial reference systems...

 for interoperability
Interoperability
Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to...

 with other GIS. It also supports Linear Reference System
Linear Reference System
Linear referencing , is a reference system in which the locations of features are identified by a relative measure along a linear element, for example a milestone along a road. Each feature is located by either a point or a line...

.

The GRASS Development Team is a multi-national group consisting of developers at numerous locations. GRASS is one of the eight initial Software Projects of the Open Source Geospatial Foundation
Open Source Geospatial Foundation
The Open Source Geospatial Foundation , is a non-profit non-governmental organization whose mission is to support and promote the collaborative development of open geospatial technologies and data. The foundation was formed in February 2006 to provide financial, organizational and legal support to...

.

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
Simple Features
Simple feature access , is both an OpenGIS and ISO Standard that specifies a common storage model of geographical data using well-known text . The geometries are also associated with spatial reference systems...

, 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
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

, 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
State (computer science)
In computer science and automata theory, a state is a unique configuration of information in a program or machine. It is a concept that occasionally extends into some forms of systems programming such as lexers and parsers....

 that includes such parameters as the geographic region covered and the map projection
Map projection
A map projection is any method of representing the surface of a sphere or other three-dimensional body on a plane. Map projections are necessary for creating maps. All map projections distort the surface in some fashion...

 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
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

; other modules are written in C, C++, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, UNIX shell, Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...

, or other scripting languages. The GRASS modules are designed under the Unix philosophy
Unix philosophy
The Unix philosophy is a set of cultural norms and philosophical approaches to developing software based on the experience of leading developers of the Unix operating system.-McIlroy: A Quarter Century of Unix:...

 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
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 programming language and wxPython
WxPython
-External links:* * at showmedo...

 graphical library.

There is cooperation between the GRASS and Quantum GIS
Quantum GIS
Quantum GIS is a free software desktop Geographic Information Systems application that provides data viewing, editing, and analysis capabilities.-Development:...

 (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
Java (Sun)
Java refers to several computer software products and specifications from Sun Microsystems, a subsidiary of Oracle Corporation, that together provide a system for developing application software and deploying it in a cross-platform environment...

 as JGRASS.

History

GRASS (Geographic Resources Analysis Support System) has been under continuous development since 1982 and has involved a large number of federal US agencies, universities, and private companies. The core components of GRASS and the management of integration of efforts into GRASS releases was originally directed by the U.S. Army - Construction Engineering Research Laboratory (USA-CERL), a branch of the U.S. Army Corps of Engineers, in Champaign, Illinois
Champaign, Illinois
Champaign is a city in Champaign County, Illinois, in the United States. The city is located south of Chicago, west of Indianapolis, Indiana, and 178 miles northeast of St. Louis, Missouri. Though surrounded by farm communities, Champaign is notable for sharing the campus of the University of...

. USA-CERL completed its last release of GRASS as version 4.1 in 1992, and provided five updates and patches to this release through 1995. USA-CERL also wrote the core components of the GRASS 5.0 floating point version.

The development of GRASS was started by the USA-CERL to meet the need of the United States military for software for land management
Land management
Land management is the process of managing the use and development of land resources. Land resources are used for a variety of purposes which may include organic agriculture, reforestation, water resource management and eco-tourism projects.-See also:*Sustainable land management*Acreage...

 and environmental planning
Environmental planning
Environmental Planning is the process of facilitating decision making to carry out development with due consideration given to the natural environmental, social, political, economic and governance factors and provides a holistic frame work to achieve sustainable outcomes.-Elements of environmental...

. A key motivation was the National Environmental Policy Act
National Environmental Policy Act
The National Environmental Policy Act is a United States environmental law that established a U.S. national policy promoting the enhancement of the environment and also established the President's Council on Environmental Quality ....

. The development platform was UNIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 running on VAX
VAX
VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs...

 hardware. During 1982 through 1995, USA-CERL led the development of GRASS, with the involvement of numerous others, including universities and other federal agencies. USA-CERL officially ceased its involvement in GRASS after release 4.1 (1995), though development had been limited to minor patches since 1993. A group formed at Baylor University
Baylor University
Baylor University is a private, Christian university located in Waco, Texas. Founded in 1845, Baylor is accredited by the Southern Association of Colleges and Schools.-History:...

 to take over the software, releasing GRASS 4.2. Around this period, a port of the software to Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 was made. In 1998, Markus Neteler
Markus Neteler
Markus Neteler received his degree in Physical Geography and Landscape Ecology from the University of Hannover, Germany, in 1999 where he worked as a researcher and teaching assistent for two years....

, the current project leader, announced the release of GRASS 4.2.1, which offered major improvements including a new graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

. In October 1999, the license of the originally public-domain GRASS software was changed to the GNU GPL in version 5.0.

Subsequently, GRASS has evolved into a powerful software suite with a wide range of applications in many different areas of scientific research and engineering
Engineering
Engineering is the discipline, art, skill and profession of acquiring and applying scientific, mathematical, economic, social, and practical knowledge, in order to design and build structures, machines, devices, systems, materials and processes that safely realize improvements to the lives of...

. For example, GRASS is used for estimating potential solar photovoltaic yield with r.sun
R.sun
r.sun is a solar irradiance and irradiation model for GRASS, which is a is a free, open source geographical information system capable of handling raster, topological vector, image processing, and graphic data....

. GRASS is currently used in academic and commercial settings around the world, as well as many governmental agencies including NASA
NASA
The National Aeronautics and Space Administration is the agency of the United States government that is responsible for the nation's civilian space program and for aeronautics and aerospace research...

, NOAA, USDA
United States Department of Agriculture
The United States Department of Agriculture is the United States federal executive department responsible for developing and executing U.S. federal government policy on farming, agriculture, and food...

, DLR
German Aerospace Center
The German Aerospace Center is the national centre for aerospace, energy and transportation research of the Federal Republic of Germany. It has multiple locations throughout Germany. Its headquarters are located in Cologne. It is engaged in a wide range of research and development projects in...

, CSIRO, the National Park Service
National Park Service
The National Park Service is the U.S. federal agency that manages all national parks, many national monuments, and other conservation and historical properties with various title designations...

, the U.S. Census Bureau, USGS, and many environmental consulting
Environmental consulting
Environmental consulting is often a form of compliance consulting, in which the consultant ensures that the client maintains an appropriate measure of compliance with environmental regulations...

 companies.

GRASS development is split into a stable branch (6.4), a development branch (6.5), and an experimental branch (7.0). The stable branch is recommended for most users, while the 6.5/7.0 branch operates as a testbed for new features.

See also

  • Object-based spatial database
    Object-based spatial database
    An object-based spatial database is a spatial database that stores the location as objects.The object-based spatial model treats the world as surface littered with recognizable objects An object-based spatial database is a spatial database that stores the location as objects.The object-based...

  • Quantum GIS
    Quantum GIS
    Quantum GIS is a free software desktop Geographic Information Systems application that provides data viewing, editing, and analysis capabilities.-Development:...

     which can be used as a graphical frontend to GRASS
  • Open Source Geospatial Foundation
    Open Source Geospatial Foundation
    The Open Source Geospatial Foundation , is a non-profit non-governmental organization whose mission is to support and promote the collaborative development of open geospatial technologies and data. The foundation was formed in February 2006 to provide financial, organizational and legal support to...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK