r.surf.area - GRASS manual
Author: GRASS Development Team
Description: r.surf.area: Prints estimation of surface area for raster map.
Keywords: raster, surface, statistics, area estimation

## NAME

r.surf.area - Prints estimation of surface area for raster map.

## KEYWORDS

raster, surface, statistics, area estimation

## SYNOPSIS

r.surf.area
r.surf.area --help
r.surf.area map=name [vscale=float] [units=string] [--help] [--verbose] [--quiet] [--ui]

### Flags:

--help
  Print usage summary
--verbose
  Verbose module output
--quiet
  Quiet module output
--ui
  Force launching GUI dialog

### Parameters:

map=name [required]
  Name of raster map
vscale=float
  Vertical scale
  Default: 1.0
units=string
  Output units
  Default: square map units
  Options: miles, feet, meters, kilometers, acres, hectares

## DESCRIPTION

r.surf.area calculates area of regular 3D triangulated points (centers of cells) in current region by adding areas of triangles. Therefore, area of a flat surface will be reported as (`rows + cols -1) * (area of cell)` less than area of flat region due to a half row and half column missing around the perimeter.

## NOTES

This calculation is heavily dependent on data resolution (think of it as a fractal shoreline problem, the more resolution the more detail, the more area, etc). This module uses the current region settings, not the resolution of the raster map. This is especially important for surfaces with `NULL` values and highly irregular edges. The module does not [currently] attempt to correct for the error introduced by this edge effect.

This version actually calculates area twice for each triangle pair, keeping a running minimum and maximum area depending on the direction of the diagonal used.

Reported totals are:

1. "Plan" area of `NULL` values within the current GRASS region
2. "Plan" area within calculation region (`rows-1 * cols-1 * cellarea`)
3. Average of the minimum and maximum calculated 3d triangle area within this region
4. "Plan" area within current computational region (`rows * cols * cellarea`)
5. Scaling of calculated area to current region

r.surf.area works best when the surface being evaluated extends to the edges of the current region and the cell resolution is small. Surfaces which are especially long and thin and have highly irregular boundaries will tend to have underestimated surface areas. Setting a high cell resolution (small area) will greatly reduce this impact, but will cause longer processing times.

## EXAMPLES

    g.region -p raster=elevation

    r.surf.area map=elevation units=hectares
    Null value area ignored in calculation: 0.000000
    Plan area used in calculation: 20221.510000
    Surface area calculation(low, high, avg):
            20294.310421 20320.936368 20307.623395
    Current region plan area: 20250.000000
    Estimated region Surface Area: 20336.234719

## SEE ALSO

g.region, r.surf.idw, r.surf.fractal, r.surf.gauss, r.volume, r.slope.aspect, v.to.rast

## AUTHOR

Bill Brown, USACERL December 21, 1994
Modified for floating point rasters and `NULL` values by Eric G. Miller (October 17, 2000)
Updated for GRASS 7, and units option by Martin Landa, Czech Technical University in Prague, Czech Republic (October 2011)

## SOURCE CODE

Available at: r.surf.area source code (history)

Latest change: Friday Feb 07 19:16:09 2025 in commit: a82a39f673b97fafcfce1604dc3e6015cb96487a

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

© 2003-2026 GRASS Development Team, GRASS 8.6.0dev Reference Manual