GRASS GIS is free software,
anyone may develop his/her own extensions. The GRASS GIS
Add-ons Wiki page contains a growing list of links to GRASS GIS
extensions, which are currently not part of the standard
distribution. They can be easily installed in the local installation
through the graphical user interface (Menu - Settings - Addons
Extension - Install) or via the g.extension command. How to contribute? You may upload your add-on to the How to get the source code: See also log files of compilation: Linux log files | Windows log files |

- db.join: Joins a database table to another database table.

- d.explanation.plot: Draw a plot of multiple rasters to explain a raster operation for example a + b = c
- d.frame: Manages display frames on the user's graphics monitor.
- d.mon2: Starts a graphics display monitor which can be controlled from the command line.
- d.vect.thematic2: Displays thematic map created from vector features and numeric attributes.

- g.cloud: Connects a local GRASS GIS session to another one in a cluster system.
- g.compare.md5: Checks if two GRASS GIS maps are identical.
- g.copyall: Copies all or a filtered subset of files of selected type from another mapset to the current working mapset.
- g.gui.mwprecip:
*g.gui.mwprecip*The module for processing row data of microwave links to precipitation. - g.isis3mt: Generates an ISIS3 map template file according to the current GRASS GIS coordinate reference system.
- g.proj.all: Reprojects raster and vector maps from given location and mapset to current mapset.
- g.proj.identify: Autoidentifies EPSG code from WKT CRS definition.
- g.rename.many: Renames multiple maps in the current mapset.

- i.cva: Performs Change Vector Analysis (CVA) in two dimensions.
- i.destripe: Destripes regularly, about vertical, striped image using Fourier.
- i.eb.deltat: Computes the difference of temperature between surface skin temperature and air temperature at 2m as part of sensible heat flux calculations.
- i.eb.hsebal95: Performs sensible heat flux iteration (SEBAL 95).
- i.eb.z0m0: Computes momentum roughness length (z0m) and surface roughness for heat transport (z0h) after Bastiaanssen (2004).
- i.eb.z0m: Computes momentum roughness length (z0m) and surface roughness for heat transport (z0h) after Bastiaanssen (2004).
- i.edge: Canny edge detector.
- i.evapo.potrad: Potential evapotranspiration, radiative method after Bastiaanssen (1995)
- i.evapo.senay: Actual evapotranspiration, method after Senay (2007)
- i.evapo.zk: Computes global evapotranspiration calculation after Zhang, Kimball, Nemani and Running formulation, 2010.
- i.feotio2: Calculates the FeO or TiO2 contents from the Clementine project Moon data.
- i.fusion.brovey: Brovey transform to merge multispectral and high-res panchromatic channels.
- i.fusion.hpf: Fusing high resolution panchromatic and low resolution Mmlti-spectral data based on the High-Pass Filter Addition technique (Gangkofner, 2008).
- i.gcp: Manages Ground Control Points (GCPs) non-interactively.
- i.gravity: Bouguer gravity anomaly computation (full slab).
- i.histo.match: Calculate histogram matching of several images.
- i.image.bathymetry: Estimates Satellite Derived Bathymetry (SDB) from multispectral images.
- i.in.probav: Imports PROBA-V NDVI data in netCDF format into a raster map with real NDVI data range.
- i.landsat8.qc: Reclassifies Landsat8 QA band according to acceptable pixel quality as defined by the user.
- i.landsat8.swlst: Practical split-window algorithm estimating Land Surface Temperature from Landsat 8 OLI/TIRS imagery (Du, Chen; Ren, Huazhong; Qin, Qiming; Meng, Jinjie; Zhao, Shaohua. 2015)
- i.lmf: Performs Temporal Local Maximum Fitting of vegetation indices, works also for surface reflectance data.
- i.lswt: Computes Lake Surface Water Temperatures (inland water bodies) from TOA Brightness Temperatures.
- i.nightlights.intercalibration: Performs inter-satellite calibration on DMSP-OLS Nighttime Lights Time Series.
- i.ortho.corr: Corrects orthophoto taking part of the adjacent orthophotos using a camera angle map.
- i.points.auto: Generate ground control points for image group to be rectified.
- i.rotate: Rotates the image around the centre of the computational window
- i.segment.gsoc: Outputs a single segmented map (raster) based on input values in an image group.
- i.segment.hierarchical: Hierarchical segmentation
- i.segment.stats: Calculates statistics describing raster areas.
- i.segment.uspo: Unsupervised segmentation parameter optimization
- i.spec.sam: Performs Spectral angle mapping on satellite/aerial images
- i.spec.unmix: Performs Spectral mixture analysis of satellite/aerial images
- i.superpixels.slic: Perform image segmentation using the SLIC segmentation method.
- i.theilsen: Computes Theil-Sen estimator from spectrum.
- i.variance: Analyses variation of variance with variation of resolution
- i.water: Water detection from satellite data derived indices, 1 if found, 0 if not
- i.wavelet: Decompostion/Recomposition in temporal dimension using wavelets
- i.wi: Calculates different types of water indices.

- m.eigensystem:
*m.eigensystem*determines the eigen values and eigen vectors for square matricies. - m.gcp.filter: Filter Ground Control Points (GCPs).
- m.printws: Opens a workspace file and creates a map sheet according to its visible contents.

- r3.count.categories: Count categories in vertical direction
- r3.forestfrag: Computes the forest fragmentation index (Riitters et al. 2000)
- r3.profile: Outputs the raster map layer values lying on user-defined line(s).
- r3.scatterplot: Creates a scatter plot of 3D raster maps
- r3.to.group: Convert a 3D raster map to imagery group
- r3.what: Queries 3D raster in specified 2D or 3D coordinates.

- r.agent.aco: Agents wander around on the terrain, marking paths to new locations.
- r.agent:
*r.agent*consists of a library*libagent*and some submodules which use this it. - r.agent.rand: Agents wander around on the terrain, marking paths to new locations.
- r.area: Calculates area of clumped areas and remove areas smaller than given threshold.
- r.basin: Morphometric characterization of river basins
- r.bioclim: Calcuates bioclimatic indices.
- r.bitpattern: Compares bit patterns with a raster map.
- r.catchment: Creates a raster buffer of specified area around vector points using cost distances using r.walk.
- r.category.trim: Export categories and corresponding colors as QGIS colour file or csv file. Non-existing categories and their colour definitions will be removed.
- r.cell.area: Calculate cell sizes within the computational region
- r.change.info: Landscape change assessment
- r.colors.contrastbrightness: Change the contrast/brightness of a raster.
- r.colors.cubehelix: Create or apply a cubehelix color table to a GRASS raster map
- r.colors.matplotlib: Convert or apply a Matplotlib color table to a GRASS raster map
- r.colors.out_sld: Exports the color table associated with a raster map layer in SLD format.
- r.convergence: Calculate convergence index.
- r.cpt2grass: Convert or apply a GMT color table to a GRASS raster map
- r.crater: Creates meteorites from craters (-c) or craters from meteorites (default).
- r.damflood: Estimate the area potentially inundated in case of dam break
- r.denoise: r.denoise - denoise topographic data
- r.divergence: Computes divergence of a vector field defined by magnitude and direction
- r.diversity: Calculate diversity indices based on a moving window using r.li packages
- r.droka: Calculates run-out distance of a falling rock mass
- r.euro.ecosystem: Sets colors and categories of European ecosystem raster data set
- r.exdet: Quantification of novel uni- and multi-variate environments
- r.fidimo: Calculating fish dispersal in a river network from source populations with species specific dispersal parameters
- r.fill.gaps: Rapidly fills 'no data' cells (NULLs) of a raster map with interpolated values (IDW).
- r.findtheriver: Find the stream pixel nearest the input coordinate
- r.flexure: Computes lithospheric flexural isostasy
- r.flip: Flips an image.
- r.forestfrag: Computes the forest fragmentation index (Riitters et al. 2000)
- r.futures.calib: Module for calibrating patch characteristics used as input to r.futures.pga
- r.futures.demand: Script for creating demand table which determines the quantity of land change expected.
- r.futures.devpressure: Module for computing development pressure
- r.futures:
*r.futures.**is an implementation of FUTure Urban-Regional Environment Simulation (FUTURES) which is a model for multilevel simulations of emerging urban-rural landscape structure. - r.futures.parallelpga: Simulates landuse change using FUTURES (r.futures.pga) on multiple CPUs in parallel.
- r.futures.pga: Simulates landuse change using FUTure Urban-Regional Environment Simulation (FUTURES).
- r.futures.potential: Module for computing development potential as input to r.futures.pga
- r.futures.potsurface: Module for computing development potential surface from CSV file created by r.futures.potential and predictors
- r.fuzzy.logic: Performs logical operations on membership images created with r.fuzzy or different method. Use families for fuzzy logic.
- r.fuzzy.set: Calculate membership value of any raster map according user's rules.
- r.fuzzy.system: Full fuzzy logic standalone classification system with few fuzzy logic families implication and defuzzification and methods.
- r.gdd: Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers.
- r.geomorphon: Calculates geomorphons (terrain forms) and associated geometry using machine vision approach.
- r.gradient: Create a gradient map
- r.green.biomassfor.co2: Calculates impact and multifunctionality values
- r.green.biomassfor.financial: Estimates bioenergy that can be collected to supply heating plants or biomass logistic centres and that is associated with a positive net revenue for the entire production process
- r.green.biomassfor: Compute the energy potential of biomass from the forestry residues, considering different limits and constraints (e.g.
- r.green.biomassfor.impact: Calculates impact and multifunctionality values
- r.green.biomassfor.legal: Estimates potential bioenergy depending on forest increment, forest management and forest treatment
- r.green.biomassfor.recommended: Estimates potential bioenergy according to environmental restriction
- r.green.biomassfor.technical: Estimates the quantity of woody biomass obtained from a forest surface where extraction is possible given a particular level of mechanisation
- r.green.biomassfor.theoretical: Estimates potential bioenergy depending on forest increment, forest management and forest treatment
- r.green.gshp: The module r.green.gshp computes the Ground Source Heat Pump potential.
- r.green.gshp.technical: Calculate the Ground Source Heat Pump technical potential using the ASHRAE method.
- r.green.gshp.theoretical: Calculate the Ground Source Heat Pump potential
- r.green:
*r.green*computes the residual energy potential of different renewable energies like biomass or hydropower. The tool is organized in the modules r.green.hydro and r.green.biomassfor which are composed of several programs considering different limits (e.g. - r.green.hydro.closest: Move points to the closest vector map
- r.green.hydro.delplants: Delete segments where there is an existing plant
- r.green.hydro.discharge: Calculate average natural discharge and minimum flow following regional law an
- r.green.hydro.financial: Assess the financial costs and values
- r.green.hydro: The module r.green.hydro computes the hydropower potential.
- r.green.hydro.optimal: Detect the position of the potential hydropower plants that can produce the highest possible power
- r.green.hydro.planning: Calculate hydropower energy potential with user's recommendations
- r.green.hydro.structure: Compute channels and penstocks
- r.green.hydro.technical: Hydropower potential with technical constrains
- r.green.hydro.theoretical: Calculate the hydropower energy potential for each basin starting from discharge and elevation data. If existing plants are available it computes the potential installed power in the available part of the rivers.
- r.green.install: Check if evrything is corectly installed and configured
- r.grow.shrink: Generates a raster map layer with contiguous areas grown by one cell.
- r.gwr: Calculates geographically weighted regression from raster maps.
- r.hants: Approximates a periodic time series and creates approximated output.
- r.hazard.flood: Fast procedure to detect flood prone areas.
- r.hydrodem: Hydrological conditioning, sink removal
- r.hypso: Outputs a hypsometric and hypsographic graph.
- r.in.arc: Converts an ESRI ARC/INFO ascii raster file (GRID) into a GRASS raster map.
- r.in.srtm.region: Creates a DEM from 3 arcsec SRTM v2.1 or 1 arcsec SRTM v3 tiles.
- r.in.wcs: Downloads and imports coverage from WCS server.
- r.jpdf: From two series of input raster maps, calculates the joint probability function and outputs the probabilities of occurrence in the specified bins.
- r.lake.series: Fills lake at given point(s) to given levels.
- r.landscape.evol: Simulates the cumulative effect of erosion and deposition on a landscape over time.
- r.learn.ml: Supervised classification and regression of GRASS rasters using the python scikit-learn package
- r.lfp: Calculates the longest flow path for a given outlet point using the r.stream.distance addon.
- r.local.relief: Creates a local relief model from elevation map.
- r.los: Line-of-sight raster analysis program.
- r.massmov: Estimates run-out and deposition of landslide phenomena over a complex topography.
- r.mblend: Blends two rasters of different spatial resolution.
- r.mcda.ahp: Generates a raster map classified with analytic hierarchy process (AHP).
- r.mcda.electre: Multicirtieria decision analysis based on ELECTRE method
- r.mcda.input: Generates a raster map classified with Dominance Rough Set Approach. Use *.rls file from JAMM, 4eMka2 etc.
- r.mcda.output: Exports criteria raster maps and decision raster map in a *.isf file (e.g. 4eMka2, jMAF) for dominance rough set approach analysis.
- r.mcda.promethee: Multicirtieria decision analysis based on PROMETHEE method
- r.mcda.roughset: Generates a MCDA map from several criteria maps using Dominance Rough Set Approach.
- r.mcda.topsis: Generates a MCDA map based on TOPSIS algorthm.
- r.meb: Compute the multivariate environmental bias (MEB)
- r.mess: Computes multivariate environmental similarity surface (MES)
- r.modis.download: Download single or multiple tiles of MODIS products using pyModis.
- r.modis: Vegetation Indices
- r.modis.import: Import single or multiple tiles of MODIS products using pyModis.
- r.mregression.series: Calculates multiple regression between time series: Y = b1*X1 + ... + bn*Xn.
- r.mwprecip: Module for working with microwave links
- r.neighborhoodmatrix: Calculates a neighborhood matrix for a raster map with regions
- r.niche.similarity: Computes niche overlap or similarity
- r.northerness.easterness: Calculation of northerness, easterness and the interaction between northerness and slope
- r.object.activelearning: Active learning for classifying raster objects
- r.object.geometry: Calculates geometry parameters for raster objects.
- r.object.spatialautocor: Spatial autocorrelation of raster objects
- r.out.arc: Converts a raster map layer into an ESRI ARCGRID file.
- r.out.legend: Create and export image file with legend of a raster map
- r.out.ntv2: Exports NTv2 datum transformation grid
- r.out.tiff: Exports a GRASS raster map to a 8/24bit TIFF image file.
- r.pi.corr.mw: Moving window correlation analysis.
- r.pi.grow: Size and suitability based region growing.
- r.pi.lm: Linear regression analysis for patches.
- r.pi.rectangle: Generates a rectangle based on a corner coordinate.
- r.popgrowth: Set of population models (fisheries science)
- r.quantile.ref: Determines quantile for input value from reference raster map layers.
- r.random.weight: Generates a binary raster layer with a random selection of raster cells depending on the weight of each cell in the input weight layer.
- r.recode.attr: Recode raster using attribute table (csv file) as input.
- r.regression.series: Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers.
- r.resamp.tps: Performs thin plate spline interpolation with regularization and covariables.
- r.rock.stability: A tool for preliminary rock failure susceptibility mapping.
- r.roughness.vector: Calculates surface roughness in a moving-window, as the orientation of vectors normal to surface planes.
- r.sample.category: Create sampling points from each category in a raster map
- r.scatterplot: Creates a scatter plot of raster maps
- r.seasons: Extracts seasons from a time series.
- r.series.decompose: Calculates decomposition of time series X.
- r.series.diversity: Compute diversity indices over input layers
- r.series.filter: Performs filtering of raster time series X (in time domain).
- r.series.lwr: Approximates a periodic time series and creates approximated output.
- r.shaded.pca: Creates relief shades from various directions and combines them into RGB composition.
- r.shalstab: A model for shallow landslide susceptibility.
- r.sim.water.mp: Overland flow hydrologic simulation using path sampling method (SIMWE).
- r.skyview: Computes Sky-View Factor visualization technique
- r.smooth.seg: Generates a piece-wise smooth approximation of the input raster and a discontinuity map.
- r.soillossbare: Calculates annual soil loss [t/(ha*a)] for bare soil. Use r.soillosscropland.py afterwards for grown soil.
- r.soils.texture: Define soil texture from sand and clay grid.
- r.spread.sod: Stochastic landscape spread model of forest pathogen - Sudden Oak Death (SOD)
- r.stream.basins: Delineates basins according stream network.
- r.stream.channel: Calculates local parameters for individual streams.
- r.stream.distance: Calculates distance to and elevation above streams and outlet.
- r.stream.order: Calculates Strahler's and more streams hierarchy.
- r.stream.segment: Divides network into near straight-line segments and calculate its order.
- r.stream.slope: Calculates local parameters for slope subsystem.
- r.stream.snap: Snap point to modelled stream network.
- r.stream.stats: Calculates Horton's statistics for Strahler and Horton ordered networks created with r.stream.order.
- r.subdayprecip.design: Computes subday design precipitation totals.
- r.sun.daily: Runs r.sun for multiple days in loop (mode 2)
- r.sun.hourly: Runs r.sun in loop for given time range (mode 1)
- r.sun.mp: Solar irradiance and irradiation model.
- r.surf.idw2: Provides surface interpolation from raster point data by Inverse Distance Squared Weighting.
- r.surf.nnbathy: Interpolates a raster map using the nnbathy natural neighbor interpolation program.
- r.terrain.texture: Unsupervised nested-means algorithm for terrain classification
- r.threshold: Find optimal threshold for stream extraction
- r.to.vect.lines: Convert raster rows to vector lines.
- r.to.vect.tiled: Converts a raster map into vector tiles.
- r.traveltime: Estimation of travel times/isochrones.
- r.tri: Terrain Ruggedness Index
- r.univar2: Calculates univariate statistics from the non-null cells of a raster map.
- r.valley.bottom: Calculation of Multi-resolution Valley Bottom Flatness (MrVBF) index
- r.vector.ruggedness: Vector Ruggedness Measure
- r.vect.stats: Bins vector points into a raster map.
- r.viewshed.cva: Undertakes a "cumulative viewshed analysis" using a vector points map as input "viewing" locations, using r.viewshed to calculate the individual viewsheds.
- r.vif: To calculate the stepwise variance inflation factor.
- r.vol.dem: Creates a 3D raster model (voxels) from a series of raster DEMs
- r.wateroutlet.lessmem: Creates watershed basins from a drainage direction map.
- r.width.funct: Calculates the Width Function of a watershed basin.

- t.rast.kappa: Calculate kappa parameter in a space time raster dataset
- t.rast.out.xyz: Export space time raster dataset to a CSV file.
- t.rast.what.aggr: Sample a space time raster dataset at specific vector point map returning aggregate values and write the output to stdout or to attribute table
- t.rast.whatcsv: Sample a space time raster dataset at specific space-time point coordinates from a csv file and write the output to stdout

- v.area.stats: Populates attribute values from vector features.
- v.area.weigh: Rasterize vector areas using weights
- v.build.pg: Builds PostGIS topology for vector map linked via v.external.
- v.centerline: Creates a central line of a map of lines
- v.centerpoint: Calculate center points
- v.civil: Generates a alignment for designing roads, channels, and ports in civil engineering
- v.class.ml: Classification of a vector maps based on the values in attribute tables
- v.class.mlpy: Vector supervised classification tool which uses attributes as classification parametres (order of columns matters, names not), cat column identifies feature, class_column is excluded from classification parametres.
- v.class.mlR: Provides supervised support vector machine classification
- v.clip: Extracts features of input map which overlay features of clip map.
- v.colors2: Sets color rules for features in a vector map using a numeric attribute column.
- v.concave.hull: Creates a concave hull around points.
- v.convert.all: Converts all older versions of GRASS vector maps in current mapset to current format.
- v.convert: Imports older versions of GRASS vector maps.
- v.delaunay3d: Creates a 3D triangulation from an input vector map containing points or centroids.
- v.ellipse: Computes the best-fitting ellipse for given vector data.
- v.explode: "Explode" polylines, splitting them to separate lines (uses v.split + v.category)
- v.external.all: Links all OGR layers available in given OGR datasource.
- v.faultdirections: Creates a polar plot of fault directions
- v.feature.algebra:
*v.feature.algebra*is a vector calculator program inspired by r.mapcalc. - v.fixed.segmentpoints: segment points along a vector line with fixed distances
- v.flexure: Lithospheric flexure: gridded deflections from scattered point loads
- v.gsflow.export: Export databse tables and pour point for GSFLOW input and control files
- v.gsflow.gravres: Set parameters for GSFLOW Hydrologic Response Units (HRUs)
- v.gsflow.grid: Builds grid for the MODFLOW component of GSFLOW
- v.gsflow.hruparams: Set parameters for GSFLOW Hydrologic Response Units (HRUs)
- v.gsflow.reaches: Build stream "reaches" that link PRMS segments to MODFLOW cells
- v.gsflow.segments: Prepares stream segments for PRMS and GSFLOW
- v.habitat.dem: Calculates DEM derived characteristics of habitats.
- v.in.gbif: importing of GBIF species distribution data
- v.in.geopaparazzi: Imports data from Geopaparazzi database.
- v.in.gns: Imports US-NGA GEOnet Names Server (GNS) country files into a GRASS vector points map.
- v.in.gps: Import waypoints, routes, and tracks from a GPS receiver or GPS download file into a vector map.
- v.in.natura2000: importing of Natura 2000 spatial data of protected areas
- v.in.osm: Imports OpenStreetMap data into GRASS GIS.
- v.in.ply: Creates a vector map from a PLY file.
- v.in.pygbif: Search and import GBIF species distribution data
- v.in.redlist: importing of IUCN Red List Spatial Data
- v.in.survey: Creates multiple vector layers from just one textfile
- v.in.wfs2: Downloads and imports data from WFS server.
- v.isochrones: Creates isochrones from a road map and starting points
- v.krige: Performs ordinary or block kriging for vector maps.
- v.kriging: Interpolates 2D or 3D raster based on input values located on 2D or 3D point vector layer (method ordinary kriging extended to 3D).
- v.label.sa: Create optimally placed labels for vector map(s)
- v.lfp: Converts a longest flow path raster map created by r.lfp to a vector map.
- v.lidar.mcc: Reclassifies points of a LiDAR point cloud as ground / non-ground using a multiscale curvature based classification algorithm.
- v.link.precip: Links time-windows to vector link map.
- v.mapcalc: Vector map calculator.
- v.maxent.swd: Export raster values at given point locations as text file in SWD format for input in Maxent
- v.median: Return the barycenter of a cloud of point.
- v.mrmr: Perform Minimum Redundancy Maximum Relevance Feature Selection on a GRASS Attribute Table
- v.neighborhoodmatrix: Exports the neighborhood matrix of polygons in a vector map
- v.net.curvedarcs: Draws curved arcs between points (e.g. flows)
- v.net.salesman.opt: Creates a cycle connecting given nodes (Traveling salesman problem).
- v.nnstat: Indicates clusters, separations or random distribution of point set in 2D or 3D space.
- v.out.gps: Exports a vector map to a GPS receiver or file format supported by GPSBabel.
- v.out.ply: Exports a vector map to a PLY file.
- v.out.png: Export vector map as PNG
- v.ply.rectify: Imports PLY points, georeferences and exports them.
- v.profile: Vector map profiling tool
- v.profile.points: Creates a profile (transect) from points
- v.sort.points: Sorts a vector point map according to a numeric column
- v.stats: Calculates vector statistics
- v.strds.stats: Calculates univariate statistics from given space-time raster datasets based on a vector map
- v.stream.inbasin: Subset a stream network into just one of its basins
- v.stream.network: Build a linked stream network: each link knows its downstream link
- v.stream.order: Compute the stream order of stream networks stored in a vector map at specific outlet vector points
- v.surf.icw: IDW interpolation, but distance is cost to get to any other site.
- v.surf.mass: Performs mass-preserving area interpolation.
- v.surf.nnbathy: Interpolates a raster map using the nnbathy natural neighbor interpolation program.
- v.surf.tps: Performs thin plate spline interpolation with regularization and covariables.
- v.tin.to.rast: Converts (rasterize) a TIN map into a raster map
- v.transects: Creates transect lines or quadrilateral areas at regular intervals perpendicular to a polyline.
- v.vol.idw: Interpolates point data to a 3D raster map using Inverse Distance Weighting (IDW) algorithm.
- v.what.rast.multi: Uploads values of multiple rasters at positions of vector
- v.what.spoly: Queries vector map with overlaping "spaghetti" polygons (e.g. Landsat footprints) at given location. Polygons must have not intersected boundaries.

© 2013-2017 GRASS Development Team, GRASS GIS 7 Addons Reference Manual