R: Adjacent cells

adjacent {terra} | R Documentation

## Adjacent cells

### Description

Identify cells that are adjacent to a set of raster cells. Or identify adjacent polygons

### Usage

    ## S4 method for signature 'SpatRaster'
    adjacent(x, cells, directions="rook", include=FALSE)

    ## S4 method for signature 'SpatVector'
    adjacent(x, type="rook", pairs=TRUE, symmetrical=FALSE	)

### Arguments

`x` | SpatRaster
`cells` | vector of cell numbers for which adjacent cells should be found. Cell numbers start with 1 in the upper-left corner and increase from left to right and from top to bottom
`directions` | the directions in which cells should be connected: "rook" (4 directions), "queen" (8 directions), "16" (knight and one-cell queen moves), or "bishop" to connect cells with one-cell diagonal moves.
`include` | logical. Should the focal cells be included in the result?
`type` | character. One of "rook", "queen", "touches", or "intersects". "queen" and "touches" are synonyms. "rook" exclude polygons that touch at a single node only. "intersects" includes polygons that touch or overlap
`pairs` | logical. If `TRUE` a "from", "to" matrix is returned
`symmetrical` | logical. If `TRUE`, an adjacent pair is only included once. For example, if polygon 1 is adjacent to polygon 3, the implied adjacency between 3 and 1 is not reported

### Value

matrix

### See Also

`relate`, `nearby`

### Examples

    r <- rast(nrows=10, ncols=10)
    adjacent(r, cells=c(1, 5, 55), directions="queen")
    r <- rast(nrows=10, ncols=10, crs="+proj=utm +zone=1 +datum=WGS84")
    adjacent(r, cells=11, directions="rook")
    # global lat/lon wraps around
    r <- rast(nrows=10, ncols=10, crs="+proj=longlat +datum=WGS84")
    adjacent(r, cells=11, directions="rook")

    f <- system.file("ex/lux.shp", package="terra")
    v <- vect(f)
    a <- adjacent(v, symmetrical=TRUE)
    head(a)

[Package terra version 1.2-10 Index]