如何用SpatVector裁剪SpatRaster?Terra包函数选择及用法
用Terra包裁剪NLCD冠层数据到指定州界
你需要用Terra包的crop()函数——这是专门用来按矢量边界裁剪栅格数据的工具,完全匹配你“只保留伊利诺伊州和威斯康星州区域”的需求,操作超简单:
步骤1:加载数据
先确保你的冠层栅格和州界矢量都在Terra的格式里:
- 如果手动下载的冠层数据是TIFF文件,用
rast()加载成SpatRaster:# 替换成你实际的文件路径 canopy_raster <- rast("/path/to/your/NLCD_canopy_file.tif") - 你的州界矢量
ilwi已经是SpatVector,直接用就行。
步骤2:执行裁剪
一行代码完成裁剪,把栅格和州界矢量作为参数传入crop():
# 裁剪栅格到州界范围内 ilwi_canopy <- crop(canopy_raster, ilwi)
crop()会自动识别ilwi的边界范围,只保留栅格中落在这个范围内的部分。
步骤3:检查结果(可选)
用plot()验证裁剪后的区域是否正确:
# 绘制裁剪后的冠层数据 plot(ilwi_canopy) # 叠加红色州界,确认匹配度 plot(ilwi, add = TRUE, border = "red", lwd = 2)
可能遇到的小问题:投影不匹配
如果运行时弹出投影不一致的错误,先把州界矢量转换成和栅格一样的投影:
# 转换州界矢量的投影,匹配栅格 ilwi_matched <- project(ilwi, canopy_raster) # 再执行裁剪 ilwi_canopy <- crop(canopy_raster, ilwi_matched)
内容的提问来源于stack exchange,提问作者Melissa Duda
相关产品推荐
相关产品推荐

