以前我使用raster::crop
和raster::mask
使用 Spatial* 类的 shapefile,使用rgal::readOGR
.
我只是在“升级”我的脚本以sf
用于读取和操作多边形。
光栅::裁剪
raster::crop
期望一个“范围”对象作为第二个参数。到目前为止,这是从 Spatial* 对象中自动提取的。所以我只能这样做raster::crop(raster, polygon)
。
为了让它与一个sf
对象一起工作,我可以称之为raster::crop(raster, as.vector(st_bbox(polygon)))
一个丑陋的解决方法。
光栅::掩码
由于raster::mask
显然期望Raster* object or a Spatial* object
唯一的解决方案是sf
使用as("Spatial")
.
我假设这个问题适用于所有raster
功能?我是否忽略了某些东西,或者只是raster
包(还)不能与sf
对象一起使用?