R: Create a buffer around vector objects or raster patches

buffer {terra} | R Documentation

## Create a buffer around vector objects or raster patches

### Description

Calculate a buffer around all cells that are not `NA` in a SpatRaster, or around the geometries of a SpatVector (currently only implemented for points)

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

### Usage

    ## S4 method for signature 'SpatRaster'
    buffer(x, width, filename="", ...)

    ## S4 method for signature 'SpatVector'
    buffer(x, width, quadsegs=10)

### Arguments

`x` | SpatRaster or SpatVector
`width` | numeric. Unit is meter if `x` has a longitude/latitude CRS, or mapunits in other cases. Should be > 0 for SpatRaster
`filename` | character. Output filename
`...` | additional arguments for writing files as in `writeRaster`
`quadsegs` | positive integer. Number of line segments to use to draw a quart circle

### Value

SpatRaster

### See Also

`distance`

### Examples

    r <- rast(ncols=36, nrows=18)
    v <- rep(NA, ncell(r))
    v[500] <- 1
    values(r) <- v
    b <- buffer(r, width=5000000)
    plot(b)

    v <- vect(rbind(c(10,10), c(0,60)), crs="+proj=merc")
    b <- buffer(v, 20)
    plot(b)
    points(v)

    crs(v) <- "+proj=longlat"
    b <- buffer(v, 1500000)
    plot(b)
    points(v)

[Package terra version 1.4-7 Index]