rast: Create a SpatRaster

rastR Documentation

Create a SpatRaster


Methods to create a SpatRaster. These objects can be created from scratch, from a filename, or from another object.

A SpatRaster represents a spatially referenced surface divided into three dimensional cells (rows, columns, and layers).

When a SpatRaster is created from a file, it does not load the cell (pixel) values into memory (RAM). It only reads the parameters that describe the geometry of the SpatRaster, such as the number of rows and columns and the coordinate reference system. The actual values will be read when needed.


## S4 method for signature 'character'
rast(x, subds=0, lyrs=NULL, drivers=NULL, opts=NULL, 
		  win=NULL, snap="near", vsi=FALSE, raw=FALSE)

## S4 method for signature 'missing'
rast(x, nrows=180, ncols=360, nlyrs=1, xmin=-180, xmax=180, 
          ymin=-90, ymax=90, crs, extent, resolution, vals, names, time, units)

## S4 method for signature 'SpatRaster'
rast(x, nlyrs=nlyr(x), names, vals, keeptime=TRUE, 
		  keepunits=FALSE, props=FALSE, tags=FALSE) 

## S4 method for signature 'matrix'
rast(x, type="", crs="", digits=6, extent=NULL)

## S4 method for signature 'data.frame'
rast(x, type="xyz", crs="", digits=6, extent=NULL)

## S4 method for signature 'array'
rast(x, crs="", extent=NULL)

## S4 method for signature 'list'
rast(x, warn=TRUE)

## S4 method for signature 'SpatRasterDataset'

## S4 method for signature 'SpatVector'
rast(x, ...)
## S4 method for signature 'SpatExtent'
rast(x, ...)



filename (character), missing, SpatRaster, SpatRasterDataset, SpatExtent, SpatVector, matrix, array, list of SpatRasters. For other types it will be attempted to create a SpatRaster via ('as(x, "SpatRaster")'


positive integer or character to select a sub-dataset. If zero or "", all sub-datasets are returned (if possible)


positive integer or character to select a subset of layers (a.k.a. "bands")


character. GDAL drivers to consider


character. GDAL dataset open options


SpatExtent to set a window (area of interest)


character. One of "near", "in", or "out", to indicate how the extent of window should be "snapped" to x


logical. If TRUE, "\vsicurl\" is prepended to filenames that start with "http"


logical. If TRUE, scale and offset values are ignored


positive integer. Number of rows


positive integer. Number of columns


positive integer. Number of layers


minimum x coordinate (left border)


maximum x coordinate (right border)


minimum y coordinate (bottom border)


maximum y coordinate (top border)


character. Description of the Coordinate Reference System (map projection) in PROJ.4, WKT or authority:code notation. See crs. If this argument is missing, and the x coordinates are within -360 .. 360 and the y coordinates are within -90 .. 90, longitude/latitude is assigned


logical. If FALSE the time stamps are discarded


logical. If FALSE the layer units are discarded


logical. If TRUE the properties (categories and color-table) are kept


logical. If TRUE the user specified metadata tags are kept (see metags).


object of class SpatExtent. If present, the arguments xmin, xmax, ymin and ymax are ignored


numeric vector of length 1 or 2 to set the spatial resolution (see res). If this argument is used, arguments ncols and nrows are ignored


numeric. An optional vector with cell values (if fewer values are provided, these are recycled to reach the number of cells)


character. An optional vector with layer names (must match the number of layers)


time or date stamps for each layer


character. units for each layer


character. If the value is "xyz", the matrix or data.frame x must have at least two columns, the first with x (or longitude) and the second with y (or latitude) coordinates that represent the centers of raster cells. The additional columns are the values associated with the raster cells. If the value is "xylz", x must have four columns with the third representing the layer and the fourth the cell values. If the value is "", the resulting SpatRaster will have the same number of rows and columns as x.


integer to set the precision for detecting whether points are on a regular grid (a low number of digits is a low precision). Only used when type="xyz"


logical. If TRUE, a warnings about empty rasters may be emitted


additional arguments passed on to the rast,missing-method


Files are read with the GDAL library. GDAL guesses the file format from the name, and/or tries reading it with different "drivers" (see gdal) until it succeeds. In very few cases this may cause a file to be opened with the wrong driver, and some information may be lost. For example, when a netCDF file is opened with the HDF5 driver. You can avoid that by using argument rast("filename.ncdf", drivers="NETCDF")

These classes hold a C++ pointer to the data "reference class" and that creates some limitations. They cannot be recovered from a saved R session either or directly passed to nodes on a computer cluster. Generally, you should use writeRaster to save SpatRaster objects to disk (and pass a filename or cell values ot cluster nodes). Also see wrap.



See Also

sds to create a SpatRasterDataset (4 dimensions) and vect for vector (points, lines, polygons) data


# Create a SpatRaster from scratch
x <- rast(nrows=108, ncols=21, xmin=0, xmax=10)

# Create a SpatRaster from a file
f <- system.file("ex/elev.tif", package="terra")
r <- rast(f)

s <- rast(system.file("ex/logo.tif", package="terra"))   

# Create a skeleton with no associated cell values

# from a matrix 
m <- matrix(1:25, nrow=5, ncol=5)
rm <- rast(m)

# from a "xyz" data.frame
d <- as.data.frame(rm, xy=TRUE)
rast(d, type="xyz")

terra documentation built on May 29, 2024, 12:33 p.m.