raster (version 3.4-5)

brick: Create a RasterBrick object


A RasterBrick is a multi-layer raster object. They are typically created from a multi-layer (band) file; but they can also exist entirely in memory. They are similar to a RasterStack (that can be created with stack), but processing time should be shorter when using a RasterBrick. Yet they are less flexible as they can only point to a single file.

A RasterBrick can be created from RasterLayer objects, from a RasterStack, or from a (multi-layer) file. The can also be created from SpatialPixels*, SpatialGrid*, and Extent objects, and from a three-dimensional array.


# S4 method for character
brick(x, ...)

# S4 method for RasterStack brick(x, values=TRUE, nl, filename='', ...)

# S4 method for RasterBrick brick(x, nl, ...)

# S4 method for RasterLayer brick(x, ..., values=TRUE, nl=1, filename='')

# S4 method for missing brick(nrows=180, ncols=360, xmn=-180, xmx=180, ymn=-90, ymx=90, nl=1, crs)

# S4 method for Extent brick(x, nrows=10, ncols=10, crs="", nl=1)

# S4 method for array brick(x, xmn=0, xmx=1, ymn=0, ymx=1, crs="", transpose=FALSE)

# S4 method for SpatialGrid brick(x)

# S4 method for SpatialPixels brick(x)



character (filename, see Details); Raster* object; missing; array; SpatialGrid*; SpatialPixels*; Extent; or list of Raster* objects. Supported file types are the 'native' raster package format and those that can be read via rgdal (see readGDAL), and NetCDF files (see details)


see Details


logical. If TRUE, the cell values of 'x' are copied to the RasterBrick object that is returned


integer > 0. How many layers should the RasterBrick have?


character. Filename if you want the RasterBrick to be saved on disk


integer > 0. Number of rows


integer > 0. Number of columns


minimum x coordinate (left border)


maximum x coordinate (right border)


minimum y coordinate (bottom border)


maximum y coordinate (top border)


character or object of class CRS. PROJ4 type description of a Coordinate Reference System (map projection). If this argument is missing, and the x coordinates are within -360 .. 360 and the y coordinates are within -90 .. 90, "+proj=longlat +datum=WGS84" is used


if TRUE, the values in the array are transposed




If x is a RasterLayer, the additional arguments can be used to pass additional Raster* objects.

If there is a filename argument, the additional arguments are as for writeRaster.

If x represents a filename there is the following additional argument:

native: logical. If TRUE (not the default), reading and writing of IDRISI, BIL, BSQ, BIP, and Arc ASCII files is done with native (raster package) drivers, rather then via rgdal.

In addition, if x is a NetCDF filename there are the following additional arguments:

varname: character. The variable name (e.g. 'altitude' or 'precipitation'. If not supplied and the file has multiple variables are a guess will be made (and reported))

lvar: integer > 0 (default=3). To select the 'level variable' (3rd dimension variable) to use, if the file has 4 dimensions (e.g. depth instead of time)

level: integer > 0 (default=1). To select the 'level' (4th dimension variable) to use, if the file has 4 dimensions, e.g. to create a RasterBrick of weather over time at a certain height.

dims: integer vector to indicated the order of the dimensions. Default is dims=c(1,2,3) (rows, cols, time).

To use NetCDF files the ncdf4 package needs to be available. It is assumed that these files follow, or are compatible with the CF-1 convention.

See Also



b <- brick(system.file("external/rlogo.grd", package="raster"))
extract(b, 870)
# }