Calculate a buffer around all cells that are not NA or around SpatialPoints, Lines, or Polygons.

Note that the distance unit of the buffer width parameter is meters if the RasterLayer is not projected (+proj=longlat), and in map units (typically also meters) when it is projected.

# S4 method for class 'RasterLayer'
buffer(x, width=0, filename='', doEdge=FALSE, ...)

# S4 method for class 'Spatial'
buffer(x, width=1, dissolve=TRUE, ...)

Arguments

x

RasterLayer or Spatial* object

width

numeric > 0. Unit is meter if x has a longitude/latitude CRS, or mapunits in other cases

filename

character. Filename for the output RasterLayer (optional)

doEdge

logical. If TRUE, the boundaries function is called first. This may be efficient in cases where you compute a buffer around very large areas because boundaries determines the edge cells that matter for distance computation

dissolve

logical. If TRUE, buffer geometries of overlapping polygons are dissolved and all geometries are aggregated and attributes (the data.frame) are dropped

...

Additional arguments as for writeRaster

Value

RasterLayer or SpatialPolygons* object

Examples

r <- raster(ncol=36,nrow=18)
values(r) <- NA
r[500] <- 1
b <- buffer(r, width=5000000) 
#plot(b)