r.buffer.lowmem
Creates a raster map showing buffer zones surrounding cells that contain non-NULL category values.
This is the low-memory alternative to the classic r.buffer module.
r.buffer.lowmem [-z] input=name output=name distances=float [,float,...] [units=string] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]
Example:
r.buffer.lowmem input=name output=name distances=0.0
grass.script.run_command("r.buffer.lowmem", input, output, distances, units="meters", flags=None, overwrite=None, verbose=None, quiet=None, superquiet=None)
Example:
gs.run_command("r.buffer.lowmem", input="name", output="name", distances=0.0)
grass.tools.Tools.r_buffer_lowmem(input, output, distances, units="meters", flags=None, overwrite=None, verbose=None, quiet=None, superquiet=None)
Example:
tools = Tools()
tools.r_buffer_lowmem(input="name", output="name", distances=0.0)
This grass.tools API is experimental in version 8.5 and expected to be stable in version 8.6.
Parameters
input=name [required]
Name of input raster map
output=name [required]
Name for output raster map
distances=float [,float,...] [required]
Distance zone(s)
units=string
Units of distance
Allowed values: meters, kilometers, feet, miles, nautmiles
Default: meters
-z
Ignore zero (0) data cells instead of NULL cells
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
input : str, required
Name of input raster map
Used as: input, raster, name
output : str, required
Name for output raster map
Used as: output, raster, name
distances : float | list[float] | str, required
Distance zone(s)
units : str, optional
Units of distance
Allowed values: meters, kilometers, feet, miles, nautmiles
Default: meters
flags : str, optional
Allowed values: z
z
Ignore zero (0) data cells instead of NULL cells
overwrite : bool, optional
Allow output files to overwrite existing files
Default: None
verbose : bool, optional
Verbose module output
Default: None
quiet : bool, optional
Quiet module output
Default: None
superquiet : bool, optional
Very quiet module output
Default: None
input : str | np.ndarray, required
Name of input raster map
Used as: input, raster, name
output : str | type(np.ndarray) | type(np.array) | type(gs.array.array), required
Name for output raster map
Used as: output, raster, name
distances : float | list[float] | str, required
Distance zone(s)
units : str, optional
Units of distance
Allowed values: meters, kilometers, feet, miles, nautmiles
Default: meters
flags : str, optional
Allowed values: z
z
Ignore zero (0) data cells instead of NULL cells
overwrite : bool, optional
Allow output files to overwrite existing files
Default: None
verbose : bool, optional
Verbose module output
Default: None
quiet : bool, optional
Quiet module output
Default: None
superquiet : bool, optional
Very quiet module output
Default: None
Returns:
result : grass.tools.support.ToolResult | np.ndarray | tuple[np.ndarray] | None
If the tool produces text as standard output, a ToolResult object will be returned. Otherwise, None
will be returned. If an array type (e.g., np.ndarray) is used for one of the raster outputs, the result will be an array and will have the shape corresponding to the computational region. If an array type is used for more than one raster output, the result will be a tuple of arrays.
DESCRIPTION
r.buffer.lowmem creates a new raster map showing buffer (a.k.a. "distance" or "proximity") zones around all cells that contain non-NULL category values in an existing raster map. The distances of buffer zones from cells with non-zero category values are user-chosen.
This is the low-memory alternative to the classic r.buffer module. It is much slower than the classic version, but will run on massive raster maps without using a lot of RAM. If your raster map is larger than 32000x32000 cells on a system with 1 GB of RAM, or larger than 90000x90000 cells on a system with 8 GB of RAM, consider using this module.
For more info see manual of r.buffer.
EXAMPLE
In the following example, the buffer zones would be (in the default units of meters): 0-100, 101-200, 201-300, 301-400 and 401-500.
r.buffer.lowmem input=roads output=roads.buf distances=100,200,300,400,500
Result:
r.category input=roads.buf
1 distances calculated from these locations
2 0-100 meters
3 100-200 meters
4 200-300 meters
5 300-400 meters
6 400-500 meters
SEE ALSO
g.region, r.buffer, r.cost, r.grow.distance, r.mapcalc, r.reclass, v.buffer
AUTHORS
Michael Shapiro, U.S. Army Construction Engineering Research
Laboratory
James Westervelt, U.S. Army Construction Engineering Research
Laboratory
Low-memory Python version by Glynn Clements
SOURCE CODE
Available at: r.buffer.lowmem source code
(history)
Latest change: Thursday May 22 03:42:15 2025 in commit 370bcb0