Crop
crop returns a geographic subset of an object as specified by an Extent object (or object from which an extent object can be extracted/created).
If x
is a Raster* object, the Extent is aligned to x
. Areas included in y
but outside the extent of x
are ignored (see extend
if you want a larger area).
## S4 method for signature 'Raster' crop(x, y, filename="", snap='near', datatype=NULL, ...) ## S4 method for signature 'Spatial' crop(x, y, ...)
x |
Raster* object or SpatialPolygons*, SpatialLines*, or SpatialPoints* object |
y |
Extent object, or any object from which an Extent object can be extracted (see Details) |
filename |
Character, output filename. Optional |
snap |
Character. One of 'near', 'in', or 'out', for use with |
datatype |
Character. Output |
... |
Additional arguments as for |
Objects from which an Extent can be extracted/created include RasterLayer, RasterStack, RasterBrick and objects of the Spatial* classes from the sp package. You can check this with the extent
function. New Extent objects can be also be created with function extent
and drawExtent
by clicking twice on a plot.
To crop by row and column numbers you can create an extent like this (for Raster x
, row 5 to 10, column 7 to 12)
crop(x, extent(x, 5, 10, 7, 15))
RasterLayer or RasterBrick object; or SpatialLines or SpatialPolygons object.
values within the extent of a Raster* object can be set to NA with mask
r <- raster(nrow=45, ncol=90) values(r) <- 1:ncell(r) e <- extent(-160, 10, 30, 60) rc <- crop(r, e) # use row and column numbers: rc2 <- crop(r, extent(r, 5, 10, 7, 15)) # crop Raster* with Spatial* object b <- as(extent(6, 6.4, 49.75, 50), 'SpatialPolygons') crs(b) <- crs(r) rb <- crop(r, b) # crop a SpatialPolygon* object with another one if (require(rgdal) & require(rgeos)) { p <- shapefile(system.file("external/lux.shp", package="raster")) pb <- crop(p, b) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.