GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7. Go directly to the new manual page here


r.buffer - Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values.


raster, buffer


r.buffer help
r.buffer [-zq] input=name output=name distances=float[,float,...] [units=string] [--overwrite] [--verbose] [--quiet]


Ignore zero (0) data cells instead of NULL cells
Run quietly
Allow output files to overwrite existing files
Verbose module output
Quiet module output


Name of input raster map
Name for output raster map
Distance zone(s)
Units of distance
Options: meters,kilometers,feet,miles,nautmiles
Default: meters


r.buffer creates a new raster map layer showing buffer (a.k.a. "distance" or "proximity") zones around all cells that contain non-NULL category values in an existing raster map layer. The distances of buffer zones from cells with non-zero category values are user-chosen. Suppose, for example, that you want to place buffer zones around roads. This program could create the raster map layer shown below on the right based on road information contained in the raster map layer shown on the left.
      000000000000000000000000 222233333333333333444444 
      111000000000000000000000 111222222222223333333333 
      000111111111100000000000 222111111111122223333333 
      000000001000011100000000 332222221222211122222222 
      000000001000000011111111 333333321233222211111111 
      000000001000000000000000 433333321233333222222222 
      000000001000000000000000 444443321233333333333333 
      000000001000000000000000 444443321233443333333333 
      000000001000000000000000 444443321233444444444444 

      Category 0: No roads
      Category 1: Road location 
      Category 2: Buffer Zone 1 around roads 
      Category 3: Buffer Zone 2 around roads 
      Category 4: Buffer Zone 3 around roads 


The user has the option of identifying up to 250 continuous zones. The zones are identified by specifying the upper limit of each desired zone (r.buffer assumes that 0 is the starting point). ("Continuous" is used in the sense that each category zone's lower value is the previous zone's upper value. The first buffer zone always has distance 0 as its lower bound.) Buffer distances can be specified using one of five units with the units parameter: meters, kilometers, feet, miles, and nautmiles (nautical miles).

Distances from cells containing the user-specified category values are calculated using the "fromcell" method. This method locates each cell that contains a category value from which distances are to be calculated, and draws the requested distance rings around them. This method works very fast when there are few cells containing the category values of interest, but works slowly when there are numerous cells containing the category values of interest spread throughout the area.

r.buffer measures distances from center of cell to center of cell using Euclidean distance measure for planimetric locations (like UTM) and using ellipsoidal geodesic distance measure for latitude/longitude locations.

r.buffer calculates distance zones from all cells having non-NULL category values in the input map. If the user wishes to calculate distances from only selected input map layer category values, the user should run (for example) r.reclass prior to r.buffer, to reclass all categories from which distance zones are not desired to be calculated into category NULL.

The -z flag can be used to ignore raster values of zero instead of NULL values in the input raster map.


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 input=roads output=roads.buf distances=100,200,300,400,500
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


r.grow, v.buffer

g.region, r.cost, r.distance, r.grow.distance, r.mapcalc, r.reclass


Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
James Westervelt, U.S. Army Construction Engineering Research Laboratory

Last changed: $Date: 2013-11-16 09:04:46 -0800 (Sat, 16 Nov 2013) $

Main index - raster index - Full index

© 2003-2016 GRASS Development Team