Learn R Programming

raster (version 3.6-30)

mask: Mask values in a Raster object

Description

Create a new Raster* object that has the same values as x, except for the cells that are NA (or other maskvalue) in a 'mask'. These cells become NA (or other updatevalue). The mask can be either another Raster* object of the same extent and resolution, or a Spatial* object (e.g. SpatialPolygons) in which case all cells that are not covered by the Spatial object are set to updatevalue. You can use inverse=TRUE to set the cells that are not NA (or other maskvalue) in the mask, or not covered by the Spatial* object, to NA (or other updatvalue).

Usage

# S4 method for RasterLayer,RasterLayer
mask(x, mask, filename="", inverse=FALSE, 
      maskvalue=NA, updatevalue=NA, updateNA=FALSE, ...)

# S4 method for RasterStackBrick,RasterLayer mask(x, mask, filename="", inverse=FALSE, maskvalue=NA, updatevalue=NA, updateNA=FALSE, ...)

# S4 method for RasterLayer,RasterStackBrick mask(x, mask, filename="", inverse=FALSE, maskvalue=NA, updatevalue=NA, updateNA=FALSE, ...)

# S4 method for RasterStackBrick,RasterStackBrick mask(x, mask, filename="", inverse=FALSE, maskvalue=NA, updatevalue=NA, updateNA=FALSE, ...)

# S4 method for Raster,Spatial mask(x, mask, filename="", inverse=FALSE, updatevalue=NA, updateNA=FALSE, ...)

Value

Raster* object

Arguments

x

Raster* object

mask

Raster* object or a Spatial* object

filename

character. Optional output filename

inverse

logical. If TRUE, areas on mask that are _not_ the maskvalue are masked

maskvalue

numeric. The value in mask that indicates the cells of x that should become updatevalue (default = NA)

updatevalue

numeric. The value that cells of x should become if they are not covered by mask (and not NA)

updateNA

logical. If TRUE, NA values outside the masked area are also updated to the the updatevalue (only relevant if the updatevalue is not NA

...

additional arguments as in writeRaster

See Also

rasterize, crop

Examples

Run this code
r <- raster(ncol=10, nrow=10)
m <- raster(ncol=10, nrow=10)
values(r) <- runif(ncell(r)) * 10
values(m) <- runif(ncell(r))
m[m < 0.5] <- NA
mr <- mask(r, m)

m2 <- m > .7
mr2 <- mask(r, m2, maskvalue=TRUE)

Run the code above in your browser using DataLab