Learn R Programming

raster (version 2.3-40)

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

## S3 method for class 'RasterLayer,RasterLayer':
mask(x, mask, filename="", inverse=FALSE, 
      maskvalue=NA, updatevalue=NA, updateNA=FALSE, ...)

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

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

## S3 method for class 'RasterStackBrick,RasterStackBrick':
mask(x, mask, filename="", inverse=FALSE, 
      maskvalue=NA, updatevalue=NA, updateNA=FALSE, ...)

## S3 method for class 'Raster,Spatial':
mask(x, mask, filename="", inverse=FALSE, 
      updatevalue=NA, updateNA=FALSE, ...)

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_ NA are masked. This option is only relevant if ]code{maskvalue=NA}
maskvalue
numeric. The value in mask that indicates the cells of x that should become maskvalue (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 that value is not NA
...
additional arguments as in writeRaster

Value

  • Raster* object

See Also

rasterize, crop

Examples

Run this code
r <- raster(ncol=10, nrow=10)
m <- raster(ncol=10, nrow=10)
r[] <- runif(ncell(r)) * 10
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