AddOns/GRASS 6

From GRASS-Wiki
< AddOns
Revision as of 08:19, 16 September 2014 by Annalisapg (talk | contribs) (source code path changed)
Jump to navigation Jump to search

Back to the main AddOnsAddOns/GRASS 7AddOns/GRASS 5AddOns/GRASS 4

See also

svn co

Vector add-ons

See also

svn co

v.adehabitat.clusthr, v.adehabitat.kernelUD, v.adehabitat.mcp

Tools to calculate home ranges of animals
Author: Clement Calenge

Available via SVN or g.extension:

svn co


v.append is a shell script combining two vector files AND their associated attribute tables. The vector files should be of the same type and, for best results, should have identically formatted attribute tables.
Note: also module v.patch can be used for this task.
Author: Michael Barton


v.autokrige achieves automatic ordinary kriging from GRASS sites (vector point data), using R with spgrass6 (RGRASS) and automap packages.
Author: Mathieu Grelier


Creates vector maps of lines and points of continously lowering elevation down the input watercourses, based on the underlying input raster DEM.
Available via g.extension or SVN.
Author: Maciej Sieczka


v.colors moved into main archive counts point features in areas, generates table good as input to d.vect.chart.
Author: Stefano Costa


v.curvature (src) calculates average curvature along a segment given by from/to distance measured along the line specified by category.
Author: Radim Blazek


v.digatt (shell script) Interactively assign numeric table attributes to series of vector objects. It is meant to be effective by avoiding to type in the attribute value for all single objects again and again. The user is prompted for typing in an attribute value which is assigned to all objects selected by mouseclick afterwards. Next the display is redrawn after updating the table column. Zooming allows to change the region before the old value can be reused or a new one can be typed in (or copied by mouse from another object) in order to assign it to the next series of objects etc. It is tested not very extensively yet. Therefore better work with a copy of your map and consider using v.digit or d.what.vect -e alternatively. screenshot.
Author: Andreas Philipp


v.dip creates points of thickness vectors from the vectors of strike and dip angles. The v.dip is the main ANSI C core program. Program so-called v.dip can run without GRASS environment.
Author: Marcin Slodkowski


Flips the direction of selected vector lines (redundant since GRASS 6.3 - there is "v.edit tool=flip"; and later there came the v.digit GUI flipping tool as well).
Available via g.extension or SVN.
Author: Maciej Sieczka generates a new vector map with the same geometry as an existing map. The new map has categories and a table based on grouping by the values in certain columns of the existing map's table. The values in these columns are preserved in the table for the new map. It's like a v.reclass that preserves data.
Author: Cedric Shock

Converts GNU GaMa XML output file to a GRASS vector map layer.
Author: Martin Landa
svn co is a shell script which will create a new vector map containing a great circle line. The user may either define a beginning and end coordinate, or define a starting coordinate along with initial azimuth and desired line length.
Author: Hamish Bowman converts a Geoplot ASCII export file to a GRASS vector map layer.
Author: Benjamin Ducke
svn co imports GSHHS shorelines into a GRASS vector map. GSHHS (aka GSHHG) data are automatically reprojected to the current location.
Authors: several, updated to GRASS 6 by Markus Metz is a python script that imports Marxan output data for display in a vector grid file prepared using v.out.marxan.
see also the Marxan
Author: Trevor Wiens imports MB-System navigation files into a GRASS vector map. You can choose from swath area coverage, track lines (including outer port/starboard edges), all bounds as points, etc. An attribute database is created containing the vital statistics of the specified feature such as track length or swath coverage (geodesic), start stop time and location, pitch, roll, heave, etc. See also the addon.
Author: Hamish Bowman imports an NCDC stn file (station data) into a GRASS vector map.
Author: Huidae Cho OpenStreetMap import into GRASS. Yet only supports deprecated API 0.4, will be modified to work with API 0.5 some time soon.
Author: Jannis Achstetter
See also by H Bowman OpenStreetMap import into GRASS. Supports current API 0.6, downloads using the Xapi interface and imports using GpsBabel 1.3.5 or newer. GpsBabel restricts to either nodes or ways being imported at a time, not both. Use v.patch to rejoin them. (work in progress)
Author: Hamish Bowman is a shell script that imports an ASCII vector file created with TOP10|25|50 or similar products.
Author: Peter Löwe is a shell script that imports 'Centre of Source' "S" navigation data from seismic P1/90 (UKOOA) data files and writes either GRASS vector points or vector lines format. Optionally it will export the navigation data into .csv text files as well. Currently in the functional prototype stage, some assembly is required. See inside the shell script for details. For working with SEG-Y data, see also the addon.
Author: Hamish Bowman

  • GRASS 6: is a shell script that imports a PLY file and writes it as GRASS vector points. For a much more advanced version, see the GRASS 7 version.
Author: Markus Neteler Create a GRASS layer from any sql query on PostGIS data.
Author: Mathieu Grelier imports DWG files into GRASS.
Author: Rodrigo Rodrigues da Silva
svn co


v.krige aims to integrate R functions for kriging (packages automap, gstat, geoR) in a trasparent way. Moved into trunk/devbr6 code (r40048)
Author: Anne Ghisla, as Google Summer of Code 2009 project
See also GRASS_AddOns#v.autokrige by Mathieu Grelier

  • Spatial Analysis Tools is a Python script for calculating Ian Johnson's (U. Sidney) Local Density Analysis values. This can be used in two ways. When only one vector points file is entered, it serves to measure clustering of point data at different neighborhood radii. When two different point files are entered, it measures the the co-occurence of the points from the two files. There is an option to export the data into a cvs format file for easy plotting in a spreadsheet or statistical program like R.

  • Spatial Analysis Tools is a Python script for calculating the nearest neighbor coefficient of a single vector points file--as an index of clustering--or of two points files--to provide an index of the correspondence between the points in one file and points in a different file.


v.ldm Shell script to compute "Linear Directional Mean" of vector lines, to display LDM graphics on the graphic monitor, and optionally to save it to vector line and update attribute table with LDM parameters.
See this link for full LDM description.
Author: Alexander Muriy

Available via SVN or g.extension:

svn co

Creates a points vector map with each point located in the middle of the length of the input vector line.
Available via g.extension or SVN.
Author: Maciej Sieczka


v.lmeasure and v.revlmeasure are two perl scripts that place equidistant vector points along a given arbitrary vector line starting from the beginning or end of the vector line, respectively. Resulting vector points are labeled with the distance from origin.
Author: Mats Schuh


v.mainchannel is a shell script which finds the main channel of a basin starting from the vector file of the stream network.
Author: Ivan Marchesini, Annalisa Minelli

Available via SVN or g.extension:

svn co


v.mk_circle is a program to create a closed vector at a user defined location and size. The program supports output of different shapes, open boundaries and closed centroids, and will accept multiple locations and sizes from an ASCII file or standard input. GRASS 7 version is also available.
Author: Bob Covill


v.mkhexgrid is a python script that creates a hexagonal grid the size of the selected region using user specified side lengths or areas. This has been updated 2011-09-14.
Author: Trevor Wiens


v.out.ascii.db is a shell script for exporting vector point data coordinates and selected attribute columns to either a file or to the console.
Superseded in GRASS 6.4 by the new v.out.ascii columns= option.
Author: Hamish Bowman


v.out.ascii.mat is a shell script for exporting vector polygon and polyline data into an ASCII text file suitable for loading into Matlab (or Octave).
Author: Hamish Bowman


v.out.blend is a Blender user oriented add-on. It outputs a 3d delaunay triangulation (.ply file) from a 3d vector pointcloud and optionally an image to drape on (.tif file), e.g. within Blender. It comes wiht a brief tutorial on the use of GRASS and Blender.
Author: Vincent Bain


v.out.geoserver is a shell script for exporting vector data to GeoServer directly. It uses: v.out.ogr, curl, zip and GeoServer REST interface.
Author: Pawel Netzel


v.out.gmt is a shell script that exports a polygon vector file into GMT xy file. psbasemap code was copied from Hamish's r.out.gmt.
Author: Huidae Cho, Hamish Bowman, Dylan Beaudette


v.out.kml is a shell script that exports a vector file into a KML file for Google Earth or Worldwind. see also r.out.kml and r.out.gmap
Author: Peter Löwe


v.out.marxan is a python script that prepares vector layers and exports GRASS vector attributes and adjacency information as Marxan input files. Output from Marxan simulations can be imported using
see also the Marxan
Author: Trevor Wiens


v.out.ply is a shell script that exports a GRASS vector points cloud into a PLY file.
Author: Markus Neteler


v.out.svg is a module that exports SVG notation along with optional attribute data directly from GRASS 6.x vector layers. Now part of grass6-svn.
Author: Klaus Förster


v.points.cog is a shell script which will create a new point at the center of gravity of each cluster of input points or centroids, grouped by attribute. Among other things this is useful for labeling swarms of points.
Author: Hamish Bowman


v.profile is vector map profiling tool similar to r.profile. This module will print out distance and attributes to points/lines along profiling line. It's also usefull to determine places where raster profile crosses vector features (i.e. where to place river marker on river walley crossection).
Author: Maris Nartiss


v.random.cover is a shell script for creating random points constrained within an irregularly shaped vector area. (v.random places points only in current region rectangle). Optionally the user can upload raster values at the points. See also 'r.random cover= vector_output='
Author: Hamish Bowman

Note: constrained sampling within an irregularly shaped vector area available in GRASS 7's v.random


v.rasterbounds is a shell script for creating polygon-vector file of rasterfile boundaries. The best version of GRASS is 6.1+. If you are using GRASS < 6.1, you have to be in the same mapset as your raster maps are from.
Author: Jachym Cepicky


v.rast.stats2 is an adapted version of the GRASS module v.rast.stats. It uses the grass addon r.univar.zonal to speed up calculation of univariate statistics from a GRASS raster map based on vector polygons.
Authors: Markus Neteler, Otto Dassau


  • Currently unavailable. Being re-written in python. Target for inclusion in addons svn is January 2011

v.sample.buffer is a shell script that samples rasters in buffers of a specified size around features in a specified vector file. Sampling results are added as attributes to the vector file. This script was designed for sampling vegetation indices and DEM derived attributes for bird point counts. Sampling results can be one or more basic statistics such as mean, range, max, etc.

Author: Trevor Wiens is a shell script that prints out the names of all vectors matching an input search pattern that has geometry (points, line, areas) that fall within a region bounded by an existing vector map, or within the current Grass region.
Author: Eric Patton


v.selmany is a shell script that allows to interactively select a set of vector objects on a given layer, then assign them attribute values in a connected database table. The script runs on the command line prompt and within a graphic monitor ; it does not work with DBF driver.
Author: Vincent Bain is an IDW interpolation method using true distance cost instead of euclidean shortest distance, i.e. as the fish swims around an island not as the bird flies. This will cleanly travel around hard barriers and a cost surface map may be used to model expensive-cross barriers. Input data points do not need direct line of sight to be considered, but should be kept to less than one hundred as the module becomes very computationally expensive. A number of radial basis function options are available. (screenshot)
Author: Hamish Bowman integrates the common algorithm with the exponential parameter for the distance weights
Author: Giovanni Allegri

deprecated: use v.autokrige instead is a script that do a surface interpolation from vector point data by Kriging method. The interpolated value of a cell is determined by using an omnidirectional variogram model fitted starting from model parameter given by user shown from the experimental semi variogram produced by v.variogram. The script can perform also the Leave-One-out cross validation to test the variogram model "fitted by eye" and an automatic fitted variogram model. The cross validation helps the user to choose the best variogram model to interpolate own data.
Author: Pierluigi De Rosa. will interpolate vector points or x,y,z data from a text file into a raster map in the current region using the natural neighbor method (either Sibsonian or non-Sibsonian), or via simple TIN. [n.b. natural neighbor is far superior to TIN!] It requires Pavel Sakov's nn natural neighbor interpolation program nnbathy to be independently installed.
Authors: Hamish Bowman and Maciej Sieczka


v.strahler is a module that calculates the Strahler Order for all lines of a given dendritic network.
Author: Florian Kindl. Available via SVN or g.extension:
svn co


v.swathwidth creates a vector map representing the sea bottom coverage of a multibeam (swath) sonar survey.
Authors: David Finlayson, Hamish Bowman


v.thickness creates points of thickness vectors from the vectors of strike and dip angles.The v.thickness is GUI GRASS script for v.dip.
Author: Marcin Slodkowski calculates kilometric abundance indexes (KIA), a common indirect presence index used in wildlife monitoring along line transect surveys.
Path lenghts can be corrected by draping on a DEM, different type of point objects can be weighted according to their relative importance, and paths can be segmented using a further polygon vector (to calculate, say, abundances per elevation range or per habitat class).
The module is written in bash and needs a GRASS install compiled with sqlite support.
Author: Clara Tattoni and Damiano G. Preatoni


v.transects is a python script that creates a set of equidistant lines (transects) that are perpendicular to an input vector line file. Points and quadrilateral areas are alternative outputs.
Author: Eric Hardin


v.trees3d is a module for making 3D trees from input vector point file.
Author: Jachym Cepicky


v.triangle -- front-end for <Triangle> utility ( of J.R. Shewchuk.

Makes exact Delaunay triangulations, constrained Delaunay triangulations, conforming Delaunay triangulations and high-quality triangular meshes. In GIS terminology, it produces 2D TIN, optionally with "breaklines". For more details see GRASS-wiki page TIN with breaklines.

Author: Alexander Muriy


v.trimesh creates a triangular mesh from a vector map using areal constraints for refinement. It uses Jonathan Shewchuk's Triangle library.
Author: Jaime Carrera
Available via SVN:
  svn co
IMPORTANT: The needed "Triangle" library (by Jonathan Richard Shewchunk) is not GPL compatible (since it is not free for commercial use) so must be sourced and this addon module compiled by the end user. is a shell script to find "average" line(s) of input vector map. It works with simple algorithm stated here (2 methods -- average distance to vectors sampling or average number of vectors segments).
Author: Alexander Muriy is a shell script that generates vector points or line segments along a given vector line(s) with the equal distances (uses v.segment)
Author: Alexander Muriy


v.what.rast.buffer is a script that calculates univariate statistics of raster map(s) from buffers around vector points. Results are written to a file. Resolution is taken from each input map.
see also the StarSpan software
Author: Hamish Bowman


  • [deprecated: use v.autokrige instead]
v.variogram is a script that create an omnidirectional experimental semi-variogram. This scripts require R-statistics software installed on your machine. Now the script is updated to run on spgrass6 >= 0.3 and sp >= 0.9 reply.
Author: Ivan Marchesini, Pierluigi De Rosa.


v.vect.stats counts the number of points falling into each polygon and optionally calculates statistics from numeric point attributes for each polygon.

Update 12/2012: v.vect.stats is now included in core GRASS 6.4.3, 6.5, and GRASS 7.

Author: Markus Metz


AniMove is software for analysis of animal movement and ranging behaviour using QGIS+GRASS+R.
Authors: Support by


shpmerge merges all the shapefiles in the current directory into a single output shapefile
Authors: Perrygeo

Raster add-ons

See also:

svn co


GRASS-RaPlaT: The Radio Planning Tool for GRASS GIS system developed by support of Slovenian largest mobile operator Mobitel. It is especially designed for radio coverage calculation of GSM/UMTS systems, but can be applied also to other wireless systems in the frequency range 400 MHz – 2.4 GHz (e.g. TETRA, WiFi). Its structure is modular and characterized by high level of flexibility and adaptability.

* Documentation:
* Software:
Author: Department of Communication Systems, Jozef Stefan Institue, Jamova 39, SI-1000 Ljubljana, Slovenia


r.area Very simple module. Calculates area size (in cells) for every individual category in input raster map and write number of cells as the value of each cell in the area. Optionally writes a binary coverage map and sets a minimum area threshold. Works well with r.clump.
Author: Jarek Jasiewicz


r.basin Generates the main morphometric parameters of the basin starting from the digital elevation model and the coordinates of the basin's closing section (see wiki for howto).
Author: Margherita Di Leo, Massimo Di Stefano

Available via SVN or g.extension:

svn co


r.bilateral Bilateral filter is an edge-preserving filter, which combines domain and range filtering. It is written in C language.
Author: Jachym Cepicky

r.broscoe calculates waerden test and t test statistics for some values of threshold area on a single basin, according to A.J.Broscoe theory (1959). Dependence: v.strahler package.
Authors: Ivan Marchesini, Annalisa Minelli

Available via SVN or g.extension:

svn co


r.boxcount and calculate the fractal dimension for a given map. These are versions for grass6 of Mark Lake's modules for grass43.
Authors: Mark Lake, grass6 port: Florian Kindl.

Available via SVN or g.extension:

svn co
svn co


r.burn.frict converts vector geometries to raster cells, using a simple anti-aliasing method to close "gaps" between diagonal cells. Useful for "burning" vector geometries into a friction surface, making sure that simulated movement does not "slip" through converted cells that have only diagonal neighbours.
Author: Benjamin Ducke
svn co


r.clump4p is a C module similar to r.clump. It has an option to clump diagonal cells. It is also parallelized and completes much faster than r.clump.
Authors: P. Netzel and T.F. Stepinski


r.colors.out_sld is a shell script used to export the color table associated with a raster map layer to an OGC SLD XML file, for use with GeoServer and the ilk.
Author: Hamish Bowman


r.colors.out_vtk is a shell script used to export the color table associated with a raster map layer to a VTK XML file. (see also Help with 3D)
Author: Hamish Bowman


r.colors.quantiles is a shell script used to create raster colors rules based on nquantiles. It uses R and spgrass6 package (RGRASS).
Authors: Mathieu Grelier


r.colors.stddev moved into main archive


r.connectivity.distance is a shell script, which is - as a part of the r.connectivity.* tool-chain - intended to make connectivity analysis based on graph-theory more easily available to conservation planning. r.connectivity.distance computes the (cost) distance between all habitat patches of an input vector map within a user defined euclidean distance threshold.
See also and #r.connectivity.corridors
Author: Stefan Blumentrath, NINA

Available via SVN or g.extension:

svn co is a shell script, which is - as a part of the r.connectivity.* tool-chain - intended to make connectivity analysis based on graph-theory more easily available to conservation planning. performs the (core) network analysis and computes connectivity measures for a set of habitat patches based on graph-theory (usig the igraph-package in R).
See also #r.connectivity.distance and #r.connectivity.corridors
Author: Stefan Blumentrath, NINA

Available via SVN or g.extension:

svn co


r.connectivity.corridors is a shell script, which is - as a part of the r.connectivity.* tool-chain - intended to make connectivity analysis based on graph-theory more easily available to conservation planning. r.connectivity.corridors computes corridors between habitat patches for edges from based on (cost) distance raster maps from r.connectivity.distance and assigns user defined weight to the corridors.
See also #r.connectivity.distance and
Author: Stefan Blumentrath, NINA

Available via SVN or g.extension:

svn co


r.convergence calculates topographic convergence index (TCI), useful to detect lineaments represented by channel/ridge systems.
Author: Jarek Jasiewicz


r.convergence_angle creates a raster map containing the convergence angle at each grid cell in the current region. This is the angle between true north and grid north and is handy for rotating gridded u,v velocity component data between the current map projection and geographic coordinates. It requires the PROJ.4 utilities to be installed.
Author: Hamish Bowman


r.cpt2grass is a GRASS script for importing a GMT .cpt color table into GRASS. It can save to a text file suitable for r.colors or automatically apply the color table to a raster map.
For a large collection of GMT .cpt files see
Other palette ideas from Univ. Oregon and NASA/Goddard's OceanColor (latter partially translated for use with GRASS on the grass-addons SVN).
Author: Hamish Bowman


r.csr integrates several Grass programs to produce colored, shaded-relief rasters in one step. Accepts single or multiple elevation/bathymetry maps as input; optionally will fill data holidays with 3x3 median filter, multiple times, if required; can apply color maps from a) input raster, b) another raster in MAPSET, or c) from a rules file; otherwise, rainbow colorbar is applied. Output colored, shaded-relief rasters can optionally be exported to tiff format if the appropriate flag is given. Shading parameters can be modified, though useful defaults are given.
Author: Eric Patton


r.cva is a cumulative viewshed analysis module. It is an advanced version of the r.los program.
Author: Mark Lake

Available via SVN or g.extension:

 svn co


r.dam is a bash script shell useful to create input for r.damflood module (GRASS7 add-on)

Author: Roberto Marzocchi


r.denoise denoises (smooths/despeckles) topographic data, particular DEMs derived from radar data (including SRTM), using Xianfang Sun's denoising algorithm. It is designed to preserve sharp edges and to denoise with minimal changes to the original data. See the manual pages for details. Further information on Sun's denoising algorithm, including an example, is available here.
Author: John Stevenson

r.dominant_dir.m and r.calc_terraflow_dir.m

dominant_dir.m and calc_terraflow_dir.m are two Matlab scripts for determining the dominant flow direction from a r.terraflow MFD map and converting into a GRASS aspect map for use with d.rast.arrow, etc.
Author: Hamish Bowman


r.diversity calculates selected diversity indices by calling various commands.This script uses the Pielou, Renyi, Shannon and Simpson indices. The output is a map for each index.
Author: Luca Delucchi, Duccio Rocchini


r.eucdist creates a raster map estimating the euclidean distance from known cells.
Author: David Finlayson


FIDIMO (r.fidimo) is a raster tool to model fish dispersal in river networks. Therefore, empirical leptokurtic fish dispersal kernels are used to model movement distances in rasterized river networks, considering movement barriers. FIDIMO allows predicting and simulating spatio-temporal patterns of fish dispersal.

Radinger, J., Kail, J. and Wolter, C. (2013) FIDIMO – A Free and Open Source GIS based dispersal model for riverine fish. Ecological Informatics 1–10. DOI: 10.1016/j.ecoinf.2013.06.002

Author: Johannes Radinger

Available via SVN or g.extension:

svn co


r.findtheriver finds the nearest stream pixel to a coordinate pair using an upstream accumulating area (UAA) raster map. This is necessary because the coordinates for streamflow gages are often not perfectly registered to the topography represented by a digital elevation model (DEM) map. Written in C for GRASS 6.x. For support contact
Author: Brian Miles

Available via SVN or g.extension:

svn co


r.flip is a shell script which will flip a raster array's rows north-for-south. The eastern edge remains in the east, and the western edge remains in the west.
Author: Hamish Bowman

r.forestfrag creates forest fragmentation index from a GRASS raster map (where forest=1, non-forest=0) based on a method developed by Riitters et. al (2000). This version only runs on GRASS 6.4 and only with 3x3 moving window (shell-script has to be adjusted for other window-sizes). For a version that runs on GRASS 7.0 and which gives the option to choose the size of the moving window size, see r.forestfrag for GRASS7.0
Author: Maning Sambale, Stefan Sylla


r.fragment fragments a raster into a user-defined set of smaller tiles according to an input number of rows and columns.
Author: Eric Patton


r.fuzzy Calculates membership of every cell in raster according membership function defined by user.
Author: Jarek Jasiewicz


r.fuzzy.logic Performs fuzzy operators (AND, OR, NOT, IMP) on membership's map using T-norms and T-conorms for 6 most popular families.
Author: Jarek Jasiewicz


r.fuzzy.system Perform full fuzzy classification with 6 most popular fuzzy logic families and few methods of deffuzification.
Author: Jarek Jasiewicz
svn co


r.game_of_life is a shell script which runs Conway's classic Game of Life using GRASS raster modules. It is meant to demonstrate how easy it is to program cellular automata in GRASS as well as various 3D raster volume and time series visualization techniques.
Author: Hamish Bowman


r.gauss is Gaussian and Laplacian of Gaussian filter for GRASS. It is written in C language.
Author: Jachym Cepicky


gradgrid4 is a tool for interpolating values of discrete data points to a raster map, applying a local regression approach with a predictor raster. The model is based on shell and python scripts as well as an R batchfile. It was tested on Fedora Core 6 with GRASS 6.2.1 and R 2.5.1, but should work under most UNIX systems. After unzipping the gradgrid4 folder, store it at any place in your local file system. In the subfolder docs you can find a manual and a publication draft with a detailed description of the concept and the example of an application. The subfolder testloc constitutes a GRASS location with test data.
Author: Martin Mergili


r.hazard.flood is an implementation of a fast procedure to detect flood prone areas. The exposure to flooding may be delineated by adopting a topographic index (TIm) computed from a DEM. The portion of a basin exposed to flood inundation is generally characterized by a TIm higher than a given threshold, tau. The threshold is automatically determinated from the cellsize. The proposed procedure may help in the delineation of flood prone areas especially in basins with marked topography. The use of the modified topographic index should not be considered as an alternative to standard hydrological-hydraulic simulations for flood mapping, but it may represent a useful and rapid tool for a preliminary delineation of flooding areas in ungauged basins and in areas where expensive and time consuming hydrological-hydraulic simulations are not affordable or economically convenient.
Author: Margherita Di Leo

Available via SVN or g.extension:

svn co imports raster data from IGN WMTS stream service. A transitory module, aiming at allowing french wmts support for GRASS 6.4. It is briefly documented here.
Author: Vincent Bain

Available via SVN or g.extension:

svn co is a "GRASS/MB-System program designed to import mbio compatible multibeam sonar data directly into the GRASS GIS. The program is a modified version of Instead of reading an ASCII XYZ file, reads an MB-System compatible list file." It can do automatic reprojection and minor hole filling. Options for restricting data according to line length, speed, acrosstrack width, beam number and survey mode (Simrad only). The default is to import bathymetry data, but optionally amplitude or sidescan sonar data can be loaded instead. GRASS 7 version is also available.
Author: Bob Covill for download and import satellite images direct from the NASA OnEarth WMS server into GRASS.
Authors: Soeren Gebbert, Markus Neteler, Hamish Bowman for importing swisstopo digital elevation model data into GRASS raster maps.
Author: Jürgen Hansmann

Available via SVN or g.extension:

svn co (.py) for download and import maps direct from WMS servers into GRASS. This script is written in Python Programming language. Note GRASS 6.2+ provides a shell script version of, take care of which one is actually being run.
Author: Jachym Cepicky runs the module, automatically setting up the region extent for you. For useful output it is strongly recommended to manually set the region resolution and bounds yourself instead of using this script.
Author: Hamish Bowman creates a 3D raster map from an assemblage of many coordinates using univariate statistics. It is the 3D version of
Author: Hamish Bowman


r.intersect creates a vector line at the intersection point of two raster maps. For example if a planar trend surface or dynamic flooding level raster map is available this module can create a "bathtub ring" vector line at the intersection of that map and a coincident elevation map.
Author: Hamish Bowman


r.inund.fluvThis command allows to obtain a fluvial potentially inundation map given a high-resolution DTM of the area surrounding the river and a water surface profile calculated through an 1-D hydrodinamic model.

Authors: Roberto Marzocchi, Bianca Federici, Domenico Sguerso


r.interp.mask Creates a user-specified buffer around interpolation points that can be used as a MASK to prevent or clip excessive extrapolation artifacts. This works much better than a standard convex hull around the points.
Author: David Finlayson


r.ipso Produces the ipsometric and ipsographic curve related to a digital elevation model and prints the percentiles
Authors: Margherita Di Leo, Massimo Di Stefano, Francesco Di Stefano

Available via SVN or g.extension:

svn co


r.isoregions allows isoregions creation from a GRASS raster map.
Authors: Mathieu Grelier is a more flexible and faster replacement of the old r.le. Moved into 6.3-SVN.
Authors: Claudio Porta, Davide Spano, Serena Pallecchi, Faunalia

Local maxima is a Perl script for r.mapcalc. It detects local maxima of the image.
Author: Jachym Cepicky


r.mandelbrot is a shell script to calculate the Mandelbrot set.- for GRASS versions 6.X.
Author: Peter Löwe


r.maxent.lambdas is a shell script to compute raw and/or logistic prediction maps from a lambdas file produced with MaxEnt 3.3.3e.
See also #r.out.maxent_swd
Author: Stefan Blumentrath, NINA

Available via SVN or g.extension:

svn co


mcda suite is a toolset for geographics multi-criteria decision aiding and data analysis based on ELECTRE (r.mcda.electre), REGIME (r.mcda.regime) and FUZZY (r.mcda.fuzzy) algorithm. The module r.roughset is also included for geographics rough set analisys and knowledge discovery based on rough set library. It is written in C language for GRASS versions 6.X.
Author: Gianluca Massei ( ) - Antonio Boggia

Available via SVN or g.extension:

svn co
svn co
svn co
svn co
svn co


The r.mess function computes the "Multivariate Environmental Similarity Surfaces" (MESS). It uses R and spgrass6 package
Author: Paulo van Breugel

Available via SVN or g.extension:

svn co


r.mlv is Mean of least variance filter for GRASS. It is an edge-preserving (or even edge-enhacing) filter, which should serve for removing additive noise from images. It is written in C language.
Author: Jachym Cepicky


The r.niche.similarity function computes two metrics to quantify niche similarity or overlap between all pairs of input raster layers: (D) the niche equivalency or similarity for two species following Warren et al. (2009) based on Schoeners D (Schoener, 1968). This metric ranges from 0 to 1, representing respectively no overlap and an identical distribution; (I) I similarity statistic of Warren et al. (2009), which is based on Hellinger Distances (van der Vaart, 1998).
Author: Paulo van Breugel

Available via SVN or g.extension:

svn co

r.obstruction, r.planning.static, r.planning.cinematic

r.obstruction, r.planning.static, r.planning.cinematic: r.obstruction creates a polar obstruction map from a DTM. r.planning.static performs a static planning for GPS and Glonass surveys using the obstruction map created with r.obstruction. r.planning.cinematic performs a cinematic planning for GPS and Glonass surveys. (University of Trento, Faculty of Engineering)
Author: Daniele Carli, Dimitri D'Inca', Gianluca Fruet, Domenico Sguerso, Paolo Zatelli


r.out.colorbar is an export program for saving GRASS raster colorbars to an image. The program uses GTK+ and cairographics. Supported export formats are PNG, PDF, and EPS.
Author: Bob Covill


r.out.jpeg is a simple GRASS script to export georeferenced JPEG images from rasters, keeping the associated color table. It is a two-step export: first a ppm file is created, then it is converted to jpeg usgin the "convert" command from ImageMagick
Author: Giovanni Allegri


r.out.geoserver exports GRASS raster layer to GeoServer and publishes it using WMS. The modul is a shell script. It uses: r.out.gdal, curl, xmlstarlet and GeoServer REST interface.
Author: Pawel Netzel


r.out.gmap outputs GRASS raster map into set of image tiles

following the tiling scheme of Google Maps and Microsoft Virtual Earth.
Read more in the OSGeo Journal Volume 5 (2009, to appear)
see also r.out.kml and v.out.kml

Author: Tomas Cebecauer


r.out.gmt is a GRASS script for exporting a GRASS raster map into a GMT grid file. It also creates a GMT color table from the data and can generate some GMT commands for plotting a postscript file. (code is experimental, but functional)
see also
Authors: Hamish Bowman, Dylan Beaudette


r.out.gmt2 is a modified version of Hamish's r.out.gmt. Added options for title, xlabel, ylabel, comment, and map width. Removed any settings that can be changed by gmtset for more flexibility.
Author: Huidae Cho, Hamish Bowman, Dylan Beaudette


r.out.kap_template is a shell script that exports a raster map into a GeoTiff and a metadata text file suitable for use with KAP (BSB) raster nautical chart converter programs such as tif2bsb (after verifying that you are legally entitled to use such a tool).
For an easy to use data viewer, see also the OpenCPN free navigational software.
Author: Hamish Bowman


r.out.kml is a shell script that exports a raster map into a KML file and image for Google Earth or Worldwind. See also v.out.kml and r.out.gmap.
Author: Hamish Bowman


r.out.maxent_swd is a shell script to produce a set of SWD files as input to MaxEnt 3.3.3e using r.stats.
See also #r.maxent.lambdas
Author: Stefan Blumentrath, NINA

Available via SVN or g.extension:

svn co


r.out.mbtiles is a script which will create a TMS tileset tree and support files suitable for processing into an MBTiles SQLite database. Zoom levels can be manually set or automatically determined from the data. Empty tiles and unneeded files are automatically prunded, and at the user's choice tiles can be converted to JPEG format. You can create just the TMS tile tree or build the full MBTiles SQLite database.
Author: Hamish Bowman


r.pack and r.unpack are two GRASS scripts for transferring raster maps to another computer as a single compressed file including color table etc.
An earlier version has been renamed as r.pack.mat and r.unpack.mat.
Author: Hamish Bowman


r.patch.many is a shell script which will run r.patch in parallel, to speed up cases where there the number of input maps is very large.
Author: Hamish Bowman



Tools for the management of mobility in the mountain environment

Authors: Andrea Cervetto, Damiano Natali, Tiziano Cosso, Roberto Marzocchi


r.pi (raster patch index) provides various functions to analyse spatial attributes of a landscape. It has a focus on patch-based indices but delivers class-based indices as well. r.le and its successor provide landscape indices.
Authors: Programming: Elshad Shirinov, Scientific concept: Dr. Martin Wegmann


r.prominence calculates the average difference between a central cell and its neighbors. It approximated the terrain 'ruggedness' by looking at average differences in elevation within a given neighborhood.
Author: Benjamin Ducke

Available via SVN or g.extension:

svn co


r.rdfilter computes a new raster map based on the application of a focal filter on the input raster map. Thus each cell value depends on the values of adjacent cells. Instead of the “moving window”-algorithm (e.g. r.neighbors), r.rdfilter is a “real distance”-filter based on GRASS’ r.cost tool.
Author: Johannes Radinger

Available via SVN or g.extension:

svn co


r.refine: reduces a DEM to a TIN (takes as input a grid DEM and an error margin and simplifies it to the desired accuracy into a TIN)

Available via the source code repository [1]

Authors: Laura Toma and Jonathan Todd


r.rifs: r.rifs generates a raster map and/or image of a fractal by means of the specified random iterated function system.
Author: Mark Lake


r.rot90 is a shell script which will rotate a raster array by 90 degrees clockwise.
Author: Hamish Bowman

r.roughness is a shell script to calculate the surface roughness of a DEM, using and (for GRASS versions 6.1 and above)

r.roughness60 - for GRASS versions 6.0.X

r.roughness.window.area - calculate surface roughness as the ratio of real (surface) area and planar area, using a moving-window approach.

r.roughness.window.vector - calculate surface roughness as vector dispersion, using a moving-window approach. Resulting maps are: Vector Strength (R) and Inverted Fisher's k parameter.

r.roughness.window.vector.html - provisional help page for r.roughness.window.vector.

Author: Carlos Henrique Grohmann

Available via SVN or g.extension:

svn co


r.roughset is a module for geographics rough set analisys and knowledge discovery based on rough set library. It is written in C language for GRASS versions 6.X.
Author: Gianluca Massei ( ) - Antonio Boggia

Available via SVN or g.extension:

svn co


r.seg performs image segmentation and discontinuity detection (based on the Mumford-Shah variational model).
The module generates a piece-wise smooth approximation of the input raster map and a raster map of the discontinuities of the output approximation. The discontinuities of the output approximation are preserved from being smoothed.
See here for details and examples.

Available here and with improvements via SVN:

svn co
Author Alfonso Vitti


r.smoothpatch creates a composite of two rasters using a distance-weighted average across the transition to smooth the edges.
Author: David Finlayson


r.soils.texture is a module to define soils texture from sand and clay raster file with a schema text file (now FAO,USDA and ISSS are available). It is written in C language. - for GRASS versions 6.x - For bugs and suggest:
Author: Gianluca Massei

Available via SVN or g.extension:

svn co


r.split.line is a shell script to split raster into parts with vector line(s).
Author: Alexander Muriy


r.stack is a shell script used to patch all the raster maps in a time series (or burst 3D raster) together into a vertical stack, to aid multi-map analyses in modules where group input is not yet available.
Author: Hamish Bowman Divide stream network into straight line segments according users input. The module uses as input direction and stream network map produced by r.watershed and stream.extract or custom user input. See description for details.
Author: Jarek Jasiewicz

Available via SVN or g.extension:

svn co delineate basins according users input. It extends r.water.outlet funcionality to extracting more than one basin at one step. Module uses as input direction map produced stream network produced by, r.watershed, or custom user input. See also*.
Author: Jarek Jasiewicz

Available via SVN or g.extension:

svn co Calculates downslope length of first order streams and delete them if it length (in pixels) is lower than the treeshold. It also join false segments left by deletion into one with category of upper. It uses r.watershed direction map and r.watershed stream map as input. The module is added only for r.watershed module, has deleting of short streams build-in. During development of* it will be probably abandoned due to duplicate functionality.
Author: Jarek Jasiewicz

Available via SVN or g.extension:

svn co Calculates downslope distance and downslope elevation difference between current cell and stream or outlet cells. It uses r.watershed direction map, r.watershed or stream map and optionally DEM as input. See also*.
Author: Jarek Jasiewicz

Available via SVN or g.extension:

svn co extracts topologically clean stream networks from input elevation and optionally accumulation maps. Output is available as raster and vector and can be used as input for the other* modules by Jarek Jasiewicz.
Author: Markus Metz

Available via SVN or g.extension:

svn co orders stream network outputed by r.watershed or according Strahler, Shreve, Horton and Hack ordering systems. It require as input stream and direction map and optionally accumulation map. It handle both SFD and MFD modes but all data must have been produced with the same procedure. See also*.
Author: Jarek Jasiewicz, Markus Metz

Available via SVN or g.extension:

svn co Helper module for calculating local stream network properties and linear geostatistics. Mostly To use with R and other GRASS modules.
Author: Jarek Jasiewicz

Available via SVN or g.extension:

svn co

In order to find a value of upslope area to be used as input to extract the river network using or r.watershed, it is common to proceed by trial and error. is useful for quickly display results for various tentatives of threshold values.
Author: Margherita Di Leo

Available via SVN or g.extension:

svn co calculate Hortonian statistics for Strahler or Horton stream network created by It uses r.watershed direction map, DEM and's Strahler or Horton stream network as input. It outputs calculated statistics to standard output. See also*.
Author: Jarek Jasiewicz

Available via SVN or g.extension:

svn co

GRASS Bourne shell script wrapper for `nnbathy', a raster interpolation utility providing triangulation, natural neighbor and non-Sibsonian natural neighbor algorithms, of Pavel Sakov's nn natural neighbor interpolation library.
Available via g.extension or SVN.
Author: Maciej Sieczka creates an artificial surface resembling a seamount or cone volcano. The user can alter the size and shape of the mountain and optionally roughen its surface. Available decay functions are polynomial, Gaussian, Lorentzian, logarithmic, and exponential.
Author: Hamish Bowman


r.terracost Scalable approach for computing least-cost-path surfaces on massive grid terrains.
Lead author: Laura Toma

Available via SVN or g.extension:

 svn co


r.threshold Finds a first tentative value of upslope area to be used as input to extract the river network using or r.watershed.

Available via SVN or g.extension:

 svn co


r.tileset moved into main archive is a module to sample raster rows at regular intervals and turn them into 3D lines. e.g. to display in NVIZ as a wiggle plot.
It demonstrates the use of ctypes to access the GRASS C libraries from within a Python script. (treat as a work in progress)
Author: Hamish Bowman


r.traveltime computes the travel time of surface runoff to an outlet. The program starts at the basin outlet and calculates the travel time at each raster cell recursively. A drainage area related threhold considers even surface and also channel runoff. Travel times are derived by assuming kinematic wave approximation. The results can be used to derive a time-area function. This might be usefull for precipitation-runoff calculations (estimation of flood predictions) with a lumped hydrologic model (user-specified unit hydrograph).
Author: Kristian Förster

Available via SVN or g.extension:

svn co


Note: This addon is only needed for GRASS 6.3, its functionality has been added to r.univar in 6.4+ and 7.

r.univar.zonal is similar to r.univar, but calculates statistics separately for each category(zone) present in the separate input map used to define zones (zonal statistics). The output can be like the one of r.univar or in easier to read table format and can be written to a file.
Author: Markus Metz

Available via SVN or g.extension:

svn co


r.viewshed is a module for extremely fast line of sight analysis (replaces the slow r.los). It is written in C language for GRASS versions 6.X/7.x.
Author: Laura Toma, USA

Available via SVN or g.extension:

svn co

Once trac #390 is solved, it will substitute r.los.


r.wavelets: This package contains wavelets decomposition and reconstruction modules for the GRASS GIS: r.owave.dec computes the orthogonal wavelet transform of a raster map. r.owave.rec reconstructs a raster map from an orthogonal wavelet transform. r.biowave.dec computes the biorthogonal wavelet transform of a raster map. r.biowave.rec reconstructs a raster map from a biorthogonal wavelet transform.
Authors: Members of the University of Trento, Faculty of Engineering produces the Width Function of a basin. The Width Function W(x) gives the number of the cells in a basin at a flow distance x from the outlet (it is also referred as distance-area function). The distance is not the euclidean one, but it is measured along the flowpath towards the outlet.
Authors: Margherita Di Leo, Massimo Di Stefano, Francesco Di Stefano

Available via SVN or g.extension:

svn co


r.wind.sun Calculates visual impact (raster map) of aerogenerators and photovoltaic panels using an impact factor, based on the area covered by windfarm and panels respect the area of Human Field of View.
Author: Annalisa Minelli, Ivan Marchesini
svn co


r.xtent computes a raster map layer representing the Voronoi diagram, weighted Voronoi diagram or a more complex territorial partitioning of space around points (centers) in a vector input map, based on the XTENT formula.
Author: Benjamin Ducke
svn co

Zero crossing is a simple Perl script, finds the ,,zero crossings`` from the Laplacian of Gaussian filter (see above). It is really very simple, the edges don't need to be really on that pixel, where they are detected, no interpolation is performed.
Author: Jachym Cepicky


The GRASS Image Processing Environment (GIPE) has USLE, Energy-balance and radiance-reflectance correction models.
Author: Yann Chemin (unless specified otherwise).
svn co

Remark: This is progressively moved to main GRASS SVN (aka GRASS 7)

  • r.hydro.CASC2D, ported from GRASS 5.x version, is temporarily here waiting to return to main GRASS.
  • r.soiltex2prop creates porosity, Saturated Hydraulic conductivity (Ksat) and wetting front pressure head (Hf) from percentage of sand and clay after Rawls et al., 1990. This is a must for r.hydro.CASC2D.
  • i.biomass creates biomass growth map from fPAR, lightuse efficiency, water availability (or evap.fraction), Lat, doy and tsw.
  • i.dn2ref.l7, r.dn2ref.ast create top of atmosphere reflectance for Landsat 7ETM+ and ASTER. These modules also have a flag for radiance output. Updated i.dn2ref.l7 to read .met calibration file.
  • i.dn2full.l[5,7] is an attempt to get all bands of Landsat[5,7] calibrated and corrected to either reflectance or temperature, reads only the .met file.
  • i.dn2potrad.l[5,7] is an attempt to get ET potential from DN of Landsat 7 (Careful! No Atmospheric correction!).
  • i.eb.* are a set of 10+ GRASS modules that together perform the main functions of the SEBAL model (Bastiaanssen, 1995). Those functions include (but are not limited to) Soil heat flux, sensible heat flux, net radiation, evaporative fraction at satellite overpass, diurnal actual evapotranspiration, momentum roughness length, etc. These modules are also part of any Energy-Balance related processing.
  • i.evapo.potrad creates diurnal Potential evapotranspiration assuming all net radiation becomes ET, according to SEBAL model (Bastiaanssen, 1995). This module also has a flag for diurnal net radiation as required by SEBAL in i.eb.eta.
  • i.evapo.SENAY creates actual evapotranspiration following the regional method of Senay (2007).
  • i.lmf creates a Local Maximum Fitting on the temporal dimension of the multi-date input dataset, working, but more precision still to be added.
  • is the mpi version of for cluster GRASS GIS education (no speed up here!) Author: Shamim Akhter
  • i.modis.stateqa extracts State Quality Assessment information from Modis 500m (MOD09A) products.
  • i.water creates a Water Mask from NDVI and Albedo, or specifically for Modis: NDVI and Band 7.
  • i.wi creates a given Water Index (only one so far).


HydroFOSS - a GIS embedded approach for Free & Open Source Hydrological modeling.
Author: Massimiliano Cannata
svn co


python script that computes length, cumulative uphill and downhill, average slopes on an interactively drawn path. Based on r.profile's output.
Author: Stefano Negri

Misc add-ons


m.eigensystem - Computes eigen values and eigen vectors for square matrices.
Author: Michael Shapiro

Database add-ons


Table joining: join one table into another through common attributes
Author: Markus Neteler. Available via SVN or g.extension:
  svn co


  g.extension db.join

General add-ons

Compare GRASS maps Script to check if two GRASS maps are identical
Author: Luca Delucchi

GRASS create location scripts Script to generate a new GRASS location from GIS file (e.g. geoTIFF or SHAPE), wktfile or EPSG code.
Author: Markus Neteler


g.infer is a tool to create rule-based data-driven workflows from GRASS data layers and additional data sources. g.infer can modify existing GRASS data layers, can create new vector layers or can start additional additional GRASS modules. This is controlled by an inference process, which applies a knowledge base on a set of known facts (data). g.infer allows to set up Expert Systems from domain knowledge and GIS data layers.
Author: Peter Löwe is an interactive shell script to extract raster and vector data from current Location into a new one. Data can be copied or extracted in current or original resolution and region extend. This script was written to extract smaller parts of a GRASS location to be able to present them on a laptop without the necessity to transfer huge data. Maps do not have to be in the same mapset.
Author: Otto Dassau

Readline completion

Readline completion for GRASS commands under the bash shell: grass-complete won't clutter the environment but needs to be installed; needs almost no installation but will pollute the environment. Grass-Complete currently requires Bash version 2.05 for proper install.
Author: Alexandre Sorokine (grass-complete), Daniel Calvelo ( is a shell script which can print to stdout a sequential series of map names for use with modules like r.series. It is a wrapper around the UNIX seq power tool.
Author: Hamish Bowman


g.region.grow is a shell script which expands or contracts the computational region by a fixed amount. It's a shortcut for "g.region n=n+X s=s-X e=e+X w=w-X".
Author: Hamish Bowman


g.region.point is a shell script which resets the computational region to a square box around a given coordinate. It is intended for use within GRASS scripts to speed up processing by limiting expensive raster calculations to a small area of interest.
Author: Hamish Bowman


g.linke_by_day is a python script for r.sun which interpolates a Linke turbidity value for a given day of the year based on monthly values edited into the script.
Author: Hamish Bowman


g.xlist is a C implementation of g.mlist. g.xlist searches for data files matching a pattern given by wildcards or POSIX Extended Regular Expressions. POSIX regex(3) functions are required.
Author: Huidae Cho


g.xremove is a C implementation of g.mremove. g.xremove removes data files matching a pattern given by wildcards or POSIX Extended Regular Expressions. POSIX regex(3) functions are required.
Author: Huidae Cho


g.region.ll sets the region in a projected location using longitudes and latitudes.
Author: Alessandro Frigeri

Imagery add-ons

See also

svn co


GIPE (see also above in raster section) provides: i.biomass, i.dn2potrad.l5, i.dn2potrad.l7, i.dn2ref.ast, i.eb.deltat, i.eb.disp, i.eb.eta, i.eb.evapfr, i.eb.g0, i.eb.h0, i.eb.h_SEBAL01, i.eb.h_SEBAL95, i.eb.h_iter, i.eb.molength, i.eb.netrad, i.eb.psi, i.eb.rah, i.eb.rohair, i.eb.ublend, i.eb.ustar, i.eb.wetdrypix, i.eb.z0m, i.eb.z0m0, i.evapo.PT, i.evapo.TSA, i.evapo.potrad, i.evapo.senay, i.evapo.time_integration, i.lmf, i.modis.stateqa, i.sattime,,, i.water, i.wi

svn co
Author: Yann Chemin


Applies SAR Speckle Filter to a raster power map. Currently LEE, KUAN, Enhanced Lee and GAMMA filter are implemented.

  g.extension i.despeckle


Rectifies an image by computing a coordinate transformation for each pixel in the image based on the control points created by i.linespoints. The approach uses homography extended for corresponding lines.

svn co

Author: Daniel Grasso, Bolzano, Italy, based on code written by Stefano Merler, ITC-irst, Italy
Reference: M. Neteler, D. Grasso, I. Michelazzi, L. Miori, S. Merler, and C. Furlanello, 2005: An integrated toolbox for image registration, fusion and classification. International Journal of Geoinformatics, 1(1), pp. 51-61 PDF


An imagery command that enables the user to mark coordinate system points as well as lines on an image to be rectified and then input the coordinates of each point for creation of a coordinate transformation matrix. The transformation matrix is needed as input for the GRASS program i.homography.

svn co

Author: Daniel Grasso, Bolzano, Italy, based on i.points


Bandwise haze correction using tasscap4 (haze) and linear regression of a Landsat scene.

svn co

Author: Markus Neteler


Transform calibrated digital number of Landsat products to top-of-atmosphere radiance or top-of-atmosphere reflectance and temperature (band 6 of the sensors TM and ETM+). Optionally, used to calculate the at-surface radiance or reflectance with atmospheric correction (DOS method).

--> moved to core GRASS (>= 6.4.2), see i.landsat.toar

Author: E. Jorge Tizado


Implements the Automated Cloud-Cover Assessment (ACCA) Algorithm from Irish (2000) with the constant values for pass filter one from Irish et al. (2006). To do this, it needs Landsat band numbers 2, 3, 4, 5, and 6 (or band 61 for Landsat-7 ETM+) which have already been processed from DN into reflectance and band-6 temperature with i.landsat.toar).

--> moved to core GRASS (>= 6.4.2), see i.landsat.acca

Author: E. Jorge Tizado


i.landsat.trim is a shell-script for GRASS 6.4.*, that trims the "fringe" from the borders of Landsat images, for each band separately or with the MASK where coverage exists for all bands. Optionally saves vector footprints of trimmed rasters and MASK. Works with Landsat 5, Landsat 7 (SLC-on).
Author: Alexander Muriy

This module allows a search of GCP's on two raster-maps with differents levels of automation. The manual search is the default search, so it's possible to determine the GCP's manually with the mouse (like i.points). Semiautomated search: The user determines with the mouse some correspondent areas (with a discrete precision) in the two maps and the module searches itself the GCP's in these areas. Automated search: At the start of module the user has to load the maps that the algorithm uses to the search, so it is recommended to use the maps filtered with the filters DIVERSITY or STDDEV (of GRASS) with a window of 3x3 or 5x5 pixels. However, the algorithm sometimes works well with the original maps too.

Note: This code is basically an improved i.points (from 2004). Subsequent changes in i.points haven's been ported here yet.

svn co

Authors: based on i.points; additions by Ivan Michelazzi, Luca Miori (MSc theses at ITC-irst); Supervisors: Markus Neteler, Stefano Merler, ITC-irst 2003, 2004. PDF article


i.points.reproj is a shell script that will use cs2cs to reproject the target coordinates of a group's POINTS file. By running i.rectify directly to the new target projection, a generation of resampling data loss can be avoided (versus i.rectify + r.proj). On the other hand, i.rectify does not calculate cell resolution well if the map is to be rotated (bug #3296), in those cases i.rectify+r.proj may be the better option.
Author: Hamish Bowman

Probabilistic Label Relaxation, written in Python
Author: Georg Kaspar

Image classification: implements k-NN (multiclass), classification trees (multiclass), maximum likelihood (multiclass), Support Vector Machines (binary), bagging versions of all the base classifiers, AdaBoost for binary trees and support vector machines. It allows feature manipulation (normalization, principal components,...). It also implements feature selection techniques (RFE, E-RFE,...), statistical tests on variables, tools for resampling (cross-validation and bootstrap) and cost-sensitive techniques for trees and support vector machines.
Author: Stefano Merler. Available via SVN or g.extension:
  svn co


Spectral Angle mapping
Author: Markus Neteler. Available via SVN or g.extension:
  svn co


Spectral unmixing
Author: Markus Neteler. Available via SVN or g.extension:
  svn co


i.topo.corr is used to topographically correct reflectance from imagery files, e.g. obtained with i.landsat.toar (see above), using a sun illumination terrain model. This illumination model represents the cosine of the incident angle, i.e. the angle between the normal to the ground and the sun rays. It can be obtained with r.sun (parameter incidout), and then calculating its cosine with float precision. Correction methods: cosine, minnaert, percent, c-factor.

--> moved to core GRASS (>= 6.4.2), see i.topo.corr

Author: E. Jorge Tizado


i.warp is a shell script that will use gdalwarp to rectify a raw input image using thin plate splines. The map should be imported into GRASS with and GCPs set with i.points. Input is the raw image (GeoTIFF, JPEG, etc). Output is a GeoTIFF in the imagery group's target location's map projection. Requires a recent (early 2006) version of GRASS 6.1, or newer.
Author: Hamish Bowman

Display add-ons

See also

svn co


d.anaglyph is a module that will render stereographic anaglyph images in PNG format suitable for use with red/cyan glasses.

Author: Hamish Bowman


d.barb is a C module that will draw wind barbs, straw plots, and arrow plots from raster array or sparse vector point data. It can use either direction + magnitude, or u + v components as the input, and can produce a legend key. (work in progress, but it's mostly there)

Author: Hamish Bowman

Example: Screenshot


d.edit.rast edits cells in an existing raster map displayed on the current monitor.
Author: Huidae Cho


(obsolete) d.frame.quarter is a shell script that will split the display into four quadrants (or sixths) using d.frame. Individual frames are named uno, dos, tres, cuatro, and full_screen.
Replaced by d.split.frame in main.
Author: Hamish Bowman


d.frame.split moved into main archive as d.split.frame


d.frontline is a shell script that draws frontlines on the graphics monitor using d.graph module and different types of symbols. Also it optionally saves frontline graphics to d.graph commands file and/or file (for later use with the "read" instruction)
Author: Alexander Muriy


d.hyperlink is an interactive shell script that allows the viewing of hyperlinked images from a vector's attribute table in an external image viewer. Queries can be made via SQL statements or interactive mouse-clicking. The attribute table must be pre-populated with a column containing the image to link the vector to; the user also specifies the image folder in the current MAPSET where the images are located. The script currently supports gimp, Eye of Gnome, gthumb, gpdf, and Inkscape image viewers.
Author: Eric Patton


d.mark is a shell script that quickly displays a marker on the display at a given coordinate.
Author: Hamish Bowman is a shell script that quickly displays a box around the current region.
Author: Hamish Bowman


d.stations is a shell script that quickly displays vector points (or sites for GRASS 5.4 and below).
Author: Hamish Bowman


d.varea is a shell script that quickly displays vector areas.
Author: Hamish Bowman


d.zoom.keys is a shell (+awk) script that allows to change the current geographic region settings interactively, with a keyboard. Can use navigation in X-monitor (requires <xev> and <xdotool>) or terminal.

NOTE: tested normally only on Linux (Ubuntu 10.04), on other systems <awk> and other tools may behave differently.

Author: Alexander Muriy

Also available via SVN or g.extension:


pd-GRASS: Parallel Display for GRASS GIS
Author: Alex Sorokine


  • Symbols which can be used with d.vect, d.graph, and is a program to import ASCII xyz (where z is a label) files as GRASS labels. Reads from stdin or existing file.
Author: Bob Covill

Postscript add-ons


ps.atlas is a shell script that makes more maps on current region according to input *.psmap file. General map can be stored as vector file. The resulting *.eps maps can be automatically converted to *.pdf files.
Author: Jachym Cepicky


ps.output is much like but with advanced decorations and ability for translucency. Here you can find a tutorial.
Author: Jorge Tizado


  • Hatches for's vareas

wxGUI add-ons


Dempster-Shafer modelling


Modules:, m.dst.create, m.dst.source, m.dst.update, m.dst.view, r.categorize, r.dst.combine, r.dst.predict.bpn, v.random.sample,


  • P. Verhagen, H. Kamermans, M. van Leusen & B. Ducke (2010). New developments in archaeological predictive modelling. In: T. Bloemers, H. Kars, A. van der Valk & M. Wijnen (eds.): The Cultural Landscape & Heritage Paradox. Protection and Development of the Dutch Archaeological-Historical Landscape and its European Dimension (Landscape & Heritage Studies Proceedings), pp. 431-444. (PDF)

GRASS and UMN Mapserver