raster包—crop函数

描述

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)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值