【发布时间】:2019-05-04 16:03:36
【问题描述】:
我有很多光栅文件(卫星图像,所有可用 geotiff .tif 扩展名)。有些文件作为单个文件拆分为所有波段,有些文件有多个波段。由于这在我的硬盘驱动器上占用了大量空间,我想用我感兴趣的区域裁剪每个文件,我将其作为 shapefile 多边形。
我接近我自己的解决方案,并使用以下代码将裁剪后的图像作为新的 .tif 文件:
library(raster)
rasterfiles = list.files(path=getwd(), pattern = "*.TIF", full.names=TRUE)
s = stack(rasterfiles)
shp = readOGR("Area.shp")
rasterfiles_crop = crop(s, extent(shp))
output = writeRaster(rc, 'out.tif', format="GTiff", overwrite=TRUE, bylayer = TRUE)
使用此代码,我收到文件名 out_1.tif、out_2.tif 等...
不幸的是,生成的文件只有 1 个波段,因此 R 仅在涉及多波段 TIF 图像时识别第一个波段。
我想保留所有波段和原始文件名,并在新的末尾添加“_crop”。有人可以在这里帮助我如何更改代码吗?
谢谢
【问题讨论】:
标签: polygon crop raster geotiff