Get a vector, matrix, or array with raster cell values

Share:

Description

as.vector returns a vector of cell values. For a RasterLayer it is equivalent to getValues(x).

as.matrix returns all values of a Raster* object as a matrix. For RasterLayers, rows and columns in the matrix represent rows and columns in the RasterLayer object. For other Raster* objects, the matrix returned by as.matrix has columns for each layer and rows for each cell.

as.array returns an array of matrices that are like those returned by as.matrix for a RasterLayer

If there is insufficient memory to load all values, you can use getValues or getValuesBlock to read chunks of the file.

as.matrix and as.vector can also be used to obtain the coordinates from an Extent object.

Usage

1
2
3
4
5
6
7
8
as.matrix(x, ...)
as.array(x, ...)

## S4 method for signature 'Extent'
as.vector(x, mode='any')

## S4 method for signature 'Raster'
as.vector(x, mode='any')

Arguments

x

Raster* or (for as.matrix and as.vector) Extent object

mode

Character string giving an atomic mode (such as "numeric" or "character") or "list", or "any". Note: this argument is currently ignored!

...

additional arguments:

maxpixels Integer. To regularly subsample very large objects

transpose Logical. Transpose the data? (for as.array only)

Value

matrix, array, or vector

Examples

1
2
3
4
5
6
r <- raster(ncol=3, nrow=3)
r[] <- 1:ncell(r)
as.matrix(r)
s <- stack(r,r)
as.array(s)
as.vector(extent(s))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.