读取特定的栅格文件并在 R 中创建平均栅格

Read specific raster files and create a mean raster in R

我很绝望,因为我的问题看起来很简单,但我找不到解决方法。

目标:

  1. 我想从文件夹中读取 1 到 4 个光栅文件。我需要的名字列在列表中作为字符。
  2. 打开文件后,我想创建一个与文件平均值相对应的新栅格。

我可以在QGIS上管理它,但我需要自动化流程,因为我有很多人!

1) 它应该与 list.files(pattern = ) 一起使用,但由于名称在列表中,我不知道该怎么做。

例如:对于第一个人,我必须读取 2 个名为 2018-12-27_sic.tif2018-12-27_sic_con.tif

的文件

我试着用 readGDAL 阅读,open.GDAL 它没有用

非常感谢您的宝贵帮助

我会使用 raster 包中的 stackcalc 函数。函数 stack 创建了一堆栅格,所有栅格都具有相同的分辨率和范围,并且可以轻松执行诸如取每个像元的平均值之类的操作。所以:

library(raster)

fs <- list.files(pattern='tif$')

rasterstack <- stack(fs)

rastermean <- calc(rasterstack, fun=mean)

请注意,如果您的栅格分辨率不同,则必须使用 resample 函数,如果它们的范围不同,则必须使用 crop。在 RStudio 中输入 ?resample?crop 将显示使用这些函数的说明。