Difference between revisions of "About GRASS"
|Line 144:||Line 144:|
* Landscape / landform classification
* Landscape / landform classification
|Line 169:||Line 170:|
* Landscape scale modeling of soil properties
* Landscape scale modeling of soil properties
==== Future directions ====
==== Future directions ====
Revision as of 01:00, 10 December 2006
This wiki page is initially for organizing the writing of a GRASS entry for the "Springer Encyclopedia of GIS", in future this wiki page will contain the article itself.
The entry structure
The Structure of the entry is given by springer. I received a .tex file which I fill with the text when this text is reviewd by the community (and my wife because she's an english teacher :-)).
- The Wikipedia entry (GNU Free Documentation License; probably do not reuse any content)
- Who owns the copyright for the article? Springer? The author(s)?
The Contract says: The author hereby grants and assigns to Springer- Verlag the sole right to publish, distribute and sell... the contribution and parts thereof...
Springer verlag will take ... either in his own name or in that of the author any necessary steps to protect these rights against infringement by third parties. It will have the copyright notice inserted into all editions of the work according to the provisions of the Universal Copyright Convention and dutifully take care of all formalities in this connections, either in its own name or in that of the author.
- Should the article be wholly original or can it be derived (cut and pasted) from existing GRASS texts (e.g. the GRASS logo; website content)?
I supose we should write something new and shouldn't cut & paste because of the following point.
- If cut&pasted, does that put the existing GRASS website text etc at risk? (let's avoid a Eric Weisstein's MathWorld vs. CRC Press style nightmare )
- Can we reuse the text? (e.g. publish it here on the wiki or as an article in a future GRASSNews newsletter)
I will ask the people at springer
What needs to be done?
The deadline is something about 'late december, after Christmas'
the entry should be 8-12 pages - here is an example: http://refworks.springer.com/mrw/fileadmin/pdf/GIS/VoronoiEncy
Here is some additional information: http://refworks.springer.com/geograph/
Here are the templates: http://refworks.springer.com/geograph/
And here is a list of other entries (as of 2006-11-21) http://www.carto.net/neumann/temp/gis_encyclopedia_toc.pdf
- screenshots needed? if so, how many?
- no limit, but I think we shouldn't include more than 3
- I would suggest some screenshots with 3d vector and 3d raster
Malte Halbey-Martin, Inst. of Geogr. Sciences, Free University Berlin, Germany
Please put your name here when you have written something
Geographic Resources Analysis Support Software, GRASS- GIS (Geographic Information System)
Definition (fewer than 250 words)
GRASS- GIS (Geographic Resources Analysis Support Software) is a GIS- software for geospatial analyses and modelling which has the capability to manage raster and vectordata. Additionally it supports three dimensional modelling with 3D raster voxel or 3D vector data and contains several image processing modules to manipulate remote sensing data. It comes along with visualization tools and interacts with other related software packages e. g. R- language, gstat and Quantum GIS. GRASS supports a variety of GIS formats due to the usage of the GDAL/OGR library. It also supports the OGC- conformal Simple Features.It can connect to databases via ODBC and supports spatial databases like PostGIS. GRASS datasets can be published on the internet with the UMN Mapserver.
The software is published under the conditions of the GNU General Public Licence (GPL) so anyone can see the source code, the internal structure of the program and the algorithms which are used. Every user can improve, modify, or extend GRASS for his own needs. A striking advantage of the program is that no licence fees have to be paid because of the terms of the GPL. Programmers all over the world contribute to the software. It is one of the biggest Open Source projects in the world (more than one million lines of source code). GRASS runs on a variety of platforms like GNU/Linux, MS- Windows, MacOS X and POSIX compliant systems. It is completly written in C although a Java version also exist (JGRASS).
Historical Background (fewer than 500 words)
The history of GRASS reaches back until the early eighties. Initially GRASS was developed by the U.S. Army Construction Engineering Research Laboratory (CERL), Champaign, Illinois since 1982 due to the need of new landmanagement and environmental planing tools for military installations. The emphasis was taken on raster analyses and image processing, because the aim of the analyses were the estimatation of the impact of actions on continous surfaces like elevation or soils(Neteler & Mitasova 2004) and there were no adequate raster GIS software on the market at that time. Modules for vector processing were added later.
The first version of GRASS was released in 1984 (Vanderfelt 1994). The source code was completely published on the Internet during the late eighties which brought a significant input into the development of GRASS. The CERL withdrew from GRASS development in 1995. An international developer team overtook this task and in 1997 GRASS 4.2 was published by the Baylor University, Waco Texas, USA and GRASS 4.2.1 from the Institute of Physical Geography and Landscape Ecology, University of Hannover, Germany in 1999 under the terms of the GPL. In 1999 the work at version 5.0 were started and the headquarter of the "GRASS Developer Team" moved to the Instituto Trentino di Cultura (ITC-irst), Trento, Italy. GRASS 5.0 was released in 2002, version 6.0 in March 2005. The current stable version is 6.2 which was released at the end of October 2006 (http://grass.itc.it/devel/grasshist.html).
Tabelle Vanderfelt 1994???
maybe we should add some mayor steps of the development...
see GRASS history page: http://grass.itc.it/devel/grasshist.html
Philosophy of GRASS
The most distinguishing feature of GRASS in comparison to other GIS- software is that the source code can be explored without any restrictions so everyone can study the algorithms which are used. This open structure allows everybody to contribute to the source code to improve GRASS or to extend it for his own needs. For this purpose GRASS provides a GIS- library and a free Programming Manual, which can be downloaded from the GRASS- project site (www.grass-irc.it). Therefore the user has full control of the analyses he does. Besides this point the GPL protects the contributing people of using their code in proprietary software where no free access to the source code is granted. Following the terms of the GPL all code which is based on GPL licensed code must be published again under the GPL (cite GPL?).
GRASS offers the user the whole range of GIS functions and together with other (free) software tools it provides a complete and powerful GIS software infrastructure for low costs.
Programming and extending GRASS
I wonder if I'm the right person to write that because of the lack of programming skills
GRASS is written in C and comes along with a sophisticated and well documented C / C++ API (Cite Programming Manual). As a side effect of the open source philosophy the user has the ability to learn how to develope own applications from existing modules by exploring their source code.
Besides that options GRASS owns the possibility to call the functions already implememented in GRASS with high level programming languages like Python. For that purpose a GRASS-SWIG interface is available which translates ANSI C / C++ declarations into multiple languages (Python, Perl). It contains also an integrated parser for scripting languages.
For easy creation of GRASS extensions it comes along with a extension manager so no source code is needed to build additional GRASS modules. To automate repeating tasks in GRASS shell scripts can be written.
Interoperability: GIS and Analysis Toolchain
GRASS is designed the way that it offers a highly and robust interoperability with outside applications, giving the user tremendous flexibility and efficiency for accomplishing his analyses.
Relational Database Systems
GRASS can directly connect to relational database management systems (RDBMS) like SQlite, MySQL and PostgreSQL. It even supports PostGIS, the spatial extension of PostgreSQL. To other external RDBMS GRASS offers the connection via the ODBC driver (cite GRASS Manual). A way to connect to an Oracle (? / Spatial ?) database is described by Mitasova, Neteler & Holl (http://www.oracle.com/technology/pub/articles/mitasova-grass.html).
Oracle(there is no direct Oracle driver in GRASS)
I thought it would be important for GIS users to know, that there's the possibility to connect to oracle...
For statistic analyses of geodatasets R (a statistic environment, fur further explanations see www.r-project.org) can be called within a GRASS session. Another software to perform geostatic procedures is gstat. For both software packages GRASS interfaces exist. Therefore gstat and R can directly use GRASS raster- and vectordatasets and will do their calculations in the spatial region definied in GRASS. GRASS can import and export Matlab binary (.mat) files (version 4) for processing numeric calculations outside GRASS.
Interoperability with other GIS Software
GRASS supports nearly all common GIS file formats to allow the user to use other GIS applications or external datasources because of its binding to the GDAL/OGR library and the support of the OGC Simple Features. Therefore the data excange between various applications and between several user is easy. Due to the structure of a GRASS GIS database people from various places can work on the same project simultaneous.
2D and 3D Visualization
While GRASS comes with fully functional 2D cartography and 3D visualization software (NVIZ), it interacts with other software tools to produce maps or to visualize geographic data sets. GRASS contains exportfilter for Generic Mapping Tool (GMT) files and various image formats so maps can be generated with external image manipulating programs.
For 3D visualization of 3D vector and raster datasets GRASS can export them in VTK (Visualization ToolKit) files which can be viewed in Paraview and script files for Povray, a raytracer to design 3D graphics. Aditional VRML (Virtual Reality Modeling Language) files can be created. Animations can be build with NVIZ or the external programs mentioned above.
The UMN Mapserver can connect to GRASS and can read GRASS geodatasets directly. With the help of PyWPS (Python Web Processing Service, an implementation of the Web Processing Service standard from the Open Geospatial Consortium) GRASS modules are accessible via web interfaces easily. Thereby GRASS can serve as a backbone in WebGIS applications.
see the GRASS Newsletter vol. 2 (January 2005) user's survey http://mirror.aarnet.edu.au/pub/grass/newsletter/GRASSNews_vol2.pdf
Just some Ideas
GRASS is currently used around the world in academic and commercial settings as well as by many govermental agencies and environmental consulting companies. Due to the variety of spatial data and application fields this selection just gives an overview of applications where GRASS was adopted.
- Benjamin Ducke
- Mark Lake
Tucker et al (1997) used GRASS to model the bird distribution of three bird species in north-east England using a Bayesian rule-based approach. They linked data about habitat preferences and life-histry of the birds against physiogeographic and satellite data using GRASS.
For the Iberian Peninsula Garzon et al 2006 have used GRASS to model the potential area of Pinus Sylvestris. They predict the habitat suitability with a machine learning software suite in GRASS GIS. They incorporated three machine learning technics (Tree-based Classification, Neural Networks and Random Forest). All three models show a larger potential area of P. sylvestris as the present one. In the Rocky Mountains National Park tree population parameters have been modeled by Baker et al 1997 for the forest-tundra ecotone.
Geography (Human / Physical)
Geology Planetary Geology
- Analysis of mountainous terrain (Carlos Henrique Grohmann Computers & Geosciences, 30 (9-10):1055-1067)
- Landscape / landform classification (Bivand, R. Integrating GRASS 5.0 and R: GIS and modern statistics Computers & Geosciences, 2000, 26, 1043–1052.)
- R (see article in GRASS Newsletter vol 3)
Hydrographic Surveys (nautical)
Landscape epidemiology and public health Landscape Evolution Network analysis
- Goddard et al
- Landscape scale modeling of soil properties (Dylan Beaudette [in progress])
- Numerical evaluation of aspect effect with r.sun (Dylan Beaudette [in progress])
Open problems and discussions
- 3D- Modelling?
Much of the infrastructure and modules are already in place for both raster, vector, and point data.
GRASS will be moving to a new unified GUI for Mac, PC, and UNIX using WxWidgets and Python. Prototype code is already working.
- Vector network analysis? (route planning, shortest path, etc)
Much of the infrastructure and modules are already in place, ready for new applications to be developed on top.
1. Quantum GIS ?
3. UMN Map Server ?
4. Open GIS Consortium
Recommended Reading (5 - 15 entries)
- Neteler, M. & Mitasova, H. (2004): Open Source GIS: A Grass GIS Approach. 2nd Edition. Boston.
- GRASS GIS 6.0 Tutorial. GDF Hannover bR (2005). Version 1.2, 149 pages.
- GRASS Newsletters 
- Lo, C.P. & Yeung, A.K.W. Concepts and Techniques of Geographic Information Systems Prentice Hall, 2006
- Robinson, A.H.; Morrison, J.L.; Muehrcke, P.C. & Guptil, S.C. Elements of Cartography John Wiley and Sons, 1995
- Haverland, G. (1999): Precision Farming and Linux: An Expose. Linux Journal.
- GRASS Programmer Manual (http://grass.itc.it/devel/index.php#prog)
If there are some definition in our text which would be worse mentioned in the Encyclopaedia...
Contact & Coordination
Malte Halbey-Martin Free University Berlin Dept. of Geosciences Inst. of Geogr. Sciences Malteserstr. 74-100 D-12249 Berlin, Germany =============== tel: +49.30.83870409 fax: +49.30.83870755 email: malte at geog.fu-berlin.de online: www.geog.fu-berlin.de/~malte
Jennifer Carlson / Andrea Schmidt Development Editors Springer 233 Spring Street New York, NY 10016 =============== tel: 212.460.1666 fax: 212.460.1594 email: jennifer.carlson at springer.com online: www.springer.com
Andreas Neumann <neumann at karto.baug.ethz.ch> Institute of Cartography ETH Zurich Wolfgang-Paulistrasse 15 CH-8093 Zurich, Switzerland Phone: ++41-44-633 3031, Fax: ++41-44-633 1153 e-mail: neumann at karto.baug.ethz.ch www: http://www.carto.net/neumann/ SVG.Open: http://www.svgopen.org/ Carto.net: http://www.carto.net/