GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7.4, available here.
Updated manual page: here


r.clump - Recategorizes data in a raster map by grouping cells that form physically discrete areas into unique categories.


raster, statistics, reclass, clumps


r.clump --help
r.clump [-dg] input=name [output=name] [title=string] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Clump also diagonal cells
Clumps are also traced along diagonal neighboring cells
Print only the number of clumps in shell script style
Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


input=name [required]
Name of input raster map
Name for output raster map
Title for output raster map

Table of contents


r.clump finds all areas of contiguous cell category values in the input raster map. NULL values in the input are ignored. It assigns a unique category value to each such area ("clump") in the resulting output raster map.

Category distinctions in the input raster map are preserved. This means that if distinct category values are adjacent, they will NOT be clumped together. The user can run r.reclass prior to r.clump to recategorize cells and reassign cell category values.


By default, the resulting clumps are connected only by their four direct neighbors (left, right, top, bottom). The -d flag activates also diagonal clump tracing.

r.clump works properly with raster map that contains only "fat" areas (more than a single cell in width). Linear elements (lines that are a single cell wide) may or may not be clumped together depending on the direction of the line - horizontal and vertical lines of cells are considered to be contiguous, but diagonal lines of cells are not considered to be contiguous and are broken up into separate clumps unless the -d flag is used.

A random color table and other support files are generated for the output raster map.


Perform clumping on "lakes" map (North Carolina sample dataset) and report area sizes for each lake individually rather by waterbody type:
g.region raster=lakes -p

# report sizes by waterbody type lakes units=h

# clump per raster polygon
r.clump lakes out=lakes_individual

# report sizes by individual waterbody lakes_individual units=h


r.average, r.buffer, r.distance, r.grow r.mapcalc, r.mfilter, r.neighbors,, r.reclass, r.statistics,


Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
Markus Metz (diagonal clump tracing)

Last changed: $Date: 2014-12-19 13:55:37 -0800 (Fri, 19 Dec 2014) $


Available at: r.clump source code (history)

Note: A new GRASS GIS stable version has been released: GRASS GIS 7.4, available here.
Updated manual page: here

Main index | Raster index | Topics index | Keywords index | Full index

© 2003-2018 GRASS Development Team, GRASS GIS 7.0.7svn Reference Manual