Skip to content

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