![]() | |
![]() GRASS GIS graphical user interface | |
Developer(s) | GRASS Development Team |
---|---|
Initial release | 1984 |
Stable release | |
Repository | |
Written in | C,C++,Python |
Operating system | Cross-platform |
Available in | English, Czech, French, German, Italian, Japanese, Polish, Spanish, Vietnamese, ... |
Type | Geographic information system |
License | GNU General Public License |
Website | grass |
Geographic Resources Analysis Support System (commonly termedGRASS GIS) is ageographic information system (GIS) software suite used for geospatial data management and analysis, image processing, producing graphics and maps, spatial and temporal modeling, and visualizing. It can handleraster,topologicalvector,image processing, andgraphic data.[2]
GRASS GIS contains over 350 modules to render maps and images on monitor and paper; manipulate raster and vector data including vector networks; process multispectral image data; and create, manage, and store spatial data.
It is licensed and released asfree and open-source software under theGNU General Public License (GPL). It runs on multipleoperating systems, includingOS X,Windows andLinux. Users can interface with the software features through agraphical user interface (GUI) or byplugging into GRASS via other software such asQGIS. They can also interface with the modules directly through a bespokeshell that the application launches or by calling individual modules directly from a standard shell. The latest stable release version (LTS) is GRASS GIS 7, which is available since 2015.
The GRASS development team is a multinational group consisting of developers at many locations. GRASS is one of the eight initial software projects of theOpen Source Geospatial Foundation.
GRASS supports raster and vector data in two and three dimensions. The vector data model istopological, meaning that areas are defined by boundaries and centroids; boundaries cannot overlap within one layer. In contrast, OpenGISSimple Features, defines 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-basedapplication software, the GRASS user is presented with a Unix shell containing a modified environment that supports execution of GRASS commands, termed modules. The environment has astate that includes parameters such as the geographic region covered and themap 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. Most GRASS modules and abilities can be operated via a graphical user interface (provided by a GRASS module), as an alternative to manipulating geographic data in a shell.
The GRASS distribution includes over 350 core modules. Over 100 add-on modules created by users are offered on its website. The libraries and core modules are written inC. Other modules are written in C,C++,Python, Unix shell,Tcl, or other scripting languages. The modules are designed under theUnix philosophy and hence can be combined using Python or shell scripting to build more complex or specialized modules, by users, without knowledge of C programming.
There is cooperation between the GRASS and Quantum GIS (QGIS) projects.[citation needed] 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 inJava asJGRASS.
GRASS has been under continuous development since 1982[3] 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 its releases was originally directed by the U.S. Army - Construction Engineering Research Laboratory (USA-CERL), a branch of theU.S. Army Corps of Engineers, inChampaign, Illinois. 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 forland management andenvironmental planning. A key motive was theNational Environmental Policy Act. The development platform wasUnix running onVAX hardware. During 1982 through 1995, USA-CERL led the development of GRASS, with the involvement of many 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 atBaylor University to take over the software, releasing GRASS 4.2. Around this time, a port of the software toLinux was made. In 1998,Markus Neteler, the current project leader, announced the release of GRASS 4.2.1, which offered major improvements including a newgraphical user interface. In October 1999, the license of the originallypublic domain software GRASS software was changed to the GNU GPL in version 5.0.[4]
Since then, GRASS has evolved into a powerful software suite with a wide range of applications in many different areas ofscientific research andengineering. For example, it is used to estimate potential solarphotovoltaic yield withr.sun.[5][6][7] As of 2015, GRASS is used in academic and commercial settings around the world, and in many government agencies includingNASA,NOAA,USDA,DLR,CSIRO, theNational Park Service, theU.S. Census Bureau,USGS, and manyenvironmental consulting companies.
As of 2015[update], the latest stable release version (LTS) is GRASS GIS 7. It was released in 2015, replacing the old stable branch (6.4) which was released in 2011. Version 7 added many new features, including large data support, a fast topological 2D/3D vector engine, powerful vector network analysis, a full temporal framework and many other features and improvements.[8]
As of 2015[update], GRASS development is split into two branches: stable and developmental.[9] The stable branch is recommended for most users, while the development branch operates as a testbed for new features.