描述
crop返回由Extent对象(或可以从中提取/创建Extent对象的对象)指定的对象的地理子集。
如果x是一个光栅*对象,范围对齐到x。包含在y但x范围之外的区域将被忽略(如果你想要一个更大的区域,请参阅extend)。
用法
## S4 method for signature 'Raster'
crop(x, y, filename="", snap='near', datatype=NULL, ...)
## S4 method for signature 'Spatial'
crop(x, y, ...)
参数
x:栅格*对象或空间多边形*,空间线*,或空间点*对象
y:Extent对象,或者可以从中提取Extent对象的任何对象(参见详细信息)
filename:字符,输出文件名。可选
snap:字符。'near', 'in'或'out'中的一个,用于对齐
datatype:字符。输出数据类型(默认情况下与输入数据类型相同)
...:附加参数如writeRaster
细节
可以提取/创建Extent的对象包括RasterLayer, RasterStack, RasterBrick和sp包中的Spatial*类的对象。您可以使用extent函数来检查这一点。通过在图形上单击两次,还可以使用函数Extent和drawExtent创建新的Extent对象。
要按行号和列号进行裁剪,你可以创建这样的范围(对于光栅x,第5行到10,第7列到12)
值
RasterLayer或RasterBrick对象;或SpatialLines或spatialpolygon对象。
例子
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)
}