R: Get cell numbers

cells {terra} | R Documentation

## Get cell numbers

### Description

Get the cell numbers covered by a SpatVector or SpatExtent. Or that match values in a vector; or all non `NA` values.

### Usage

    ## S4 method for signature 'SpatRaster,missing'
    cells(x, y)

    ## S4 method for signature 'SpatRaster,numeric'
    cells(x, y)

    ## S4 method for signature 'SpatRaster,SpatVector'
    cells(x, y, method="simple", weights=FALSE, exact=FALSE, touches=is.lines(y))

    ## S4 method for signature 'SpatRaster,SpatExtent'
    cells(x, y)

### Arguments

`x` | SpatRaster
`y` | SpatVector, SpatExtent, 2-column matrix representing points, numeric representing values to match, or missing
`method` | character. Method for getting cell numbers for points. The default is "simple", the alternative is "bilinear". If it is "bilinear", the four nearest cells and their weights are returned
`weights` | logical. If `TRUE` and `y` has polygons, the approximate fraction of each cell that is covered is returned as well
`exact` | logical. If `TRUE` and `y` has polygons, the exact fraction of each cell that is covered is returned as well
`touches` | logical. If `TRUE`, values for all cells touched by lines or polygons are extracted, not just those on the line render path, or whose center point is within the polygon. Not relevant for points

### Value

numeric vector or matrix

### Examples

    r <- rast(ncols=10, nrows=10)
    values(r) <- 1:ncell(r)
    r[c(1:25, 31:100)] <- NA
    r <- ifel(r > 28, r + 10, r)

    # all cell numbers of cells that are not NA
    cells(r)

    # cell numbers that match values
    x <- cells(r, c(28,38))
    x$lyr.1

    # cells for points
    m <- cbind(x=c(0,10,-30), y=c(40,-10,20))
    cellFromXY(r, m)

    v <- vect(m)
    cells(r, v)
    cells(r, v, method="bilinear")

    # cells for polygons
    #f <- system.file("ex/lux.shp", package="terra")
    #v <- vect(f)
    #r <- rast(v)
    #cv <- cells(r, v)

[Package terra version 1.2-10 Index]