## NAME

r.stats.zonal - Calculates category or object oriented statistics (accumulator-based statistics).

## KEYWORDS

raster, statistics, zonal statistics

## SYNOPSIS

r.stats.zonal
r.stats.zonal --help
r.stats.zonal [-cr] base=name cover=name method=string output=name [--overwrite] [--help] [--verbose] [--quiet] [--ui]

### Flags:

-c
  Cover values extracted from the category labels of the cover map
-r
  Create reclass map with statistics as category labels
--overwrite
  Allow output files to overwrite existing files
--help
  Print usage summary
--verbose
  Verbose module output
--quiet
  Quiet module output
--ui
  Force launching GUI dialog

### Parameters:

base=name [required]
  Name of base raster map
cover=name [required]
  Name of cover raster map
method=string [required]
  Method of object-based statistic
  Options: count, sum, min, max, range, average, avedev, variance, stddev, skewness, kurtosis, variance2, stddev2, skewness2, kurtosis2
  count: Count of values in specified objects
  sum: Sum of values in specified objects
  min: Minimum of values in specified objects
  max: Maximum of values in specified objects
  range: Range of values (max - min) in specified objects
  average: Average of values in specified objects
  avedev: Average deviation of values in specified objects
  variance: Variance of values in specified objects
  stddev: Standard deviation of values in specified objects
  skewness: Skewness of values in specified objects
  kurtosis: Kurtosis of values in specified objects
  variance2: (2-pass) Variance of values in specified objects
  stddev2: (2-pass) Standard deviation of values in specified objects
  skewness2: (2-pass) Skewness of values in specified objects
  kurtosis2: (2-pass) Kurtosis of values in specified objects
output=name [required]
  Resultant raster map

## DESCRIPTION

r.stats.zonal is a tool to analyse exploratory statistics of a floating-point "cover layer" according to how it intersects with objects in a "base layer". A variety of standard statistical measures are possible. This type of analysis is often called zonal statistics. The zones are specified as the base raster map and the statistics are computed from cells in the cover raster map. Notably, the output of this module is spatial: The resulting values are recorded as cell values in the output raster map.

## NOTES

r.stats.zonal is intended to be a partial replacement for r.statistics, with support for floating-point cover maps at the expense of not supporting quantiles. For this, see r.stats.quantile.

## EXAMPLE

In this example, the raster polygon map `zipcodes` in the North Carolina sample dataset is used to calculate zonal raster statistics using the `elevation` raster map:

    g.region raster=zipcodes -p

    # pixel count in zipcode areas
    r.stats.zonal base=zipcodes cover=elevation method=count output=zipcodes_elev_count
    r.colors zipcodes_elev_count color=gyr -g

    # average elevation in zipcode areas
    r.stats.zonal base=zipcodes cover=elevation method=average output=zipcodes_elev_avg
    r.colors zipcodes_elev_avg color=elevation -g

Figure: ZIP code map on the left shows ZIP code areas, elevation map the respective values per pixel, zonal statistics map on the right shows the average elevation per zone (all maps: spatial subset).

## SEE ALSO

- r.stats.quantile for computing quantiles in zones (objects in base raster map),
- r.quantile for computing quantiles of a whole raster map,
- r.statistics for categorical (integer) zonal statistics,
- r.univar for zonal statistics with textual (non-spatial) output,
- v.vect.stats for statistics of vector points in vector areas.

## AUTHOR

Glynn Clements

## SOURCE CODE

Available at: r.stats.zonal source code (history)

Accessed: Wednesday Feb 04 00:59:49 2026

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

© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual