r.surf.area
Prints estimation of surface area for raster map.
r.surf.area map=name [vscale=float] [units=string] [--verbose] [--quiet] [--qq] [--ui]
Example:
r.surf.area map=name
grass.script.run_command("r.surf.area", map, vscale=1.0, units=None, verbose=False, quiet=False, superquiet=False)
Example:
gs.run_command("r.surf.area", map="name")
Parameters
map=name [required]
Name of raster map
vscale=float
Vertical scale
Default: 1.0
units=string
Output units
Default: square map units
Allowed values: miles, feet, meters, kilometers, acres, hectares
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
map : str, required
Name of raster map
Used as: input, raster, name
vscale : float, optional
Vertical scale
Default: 1.0
units : str, optional
Output units
Default: square map units
Allowed values: miles, feet, meters, kilometers, acres, hectares
verbose: bool, optional
Verbose module output
Default: False
quiet: bool, optional
Quiet module output
Default: False
superquiet: bool, optional
Very quiet module output
Default: False
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:
- "Plan" area of
NULL
values within the current GRASS region - "Plan" area within calculation region (
rows-1 * cols-1 * cellarea
) - Average of the minimum and maximum calculated 3d triangle area within this region
- "Plan" area within current computational region
(
rows * cols * cellarea
) - 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 a82a39f