读取特定的栅格文件并在 R 中创建平均栅格
Read specific raster files and create a mean raster in R
我很绝望,因为我的问题看起来很简单,但我找不到解决方法。
目标:
- 我想从文件夹中读取 1 到 4 个光栅文件。我需要的名字列在列表中作为字符。
- 打开文件后,我想创建一个与文件平均值相对应的新栅格。
我可以在QGIS上管理它,但我需要自动化流程,因为我有很多人!
1) 它应该与 list.files(pattern = )
一起使用,但由于名称在列表中,我不知道该怎么做。
例如:对于第一个人,我必须读取 2 个名为 2018-12-27_sic.tif
和 2018-12-27_sic_con.tif
的文件
我试着用 readGDAL
阅读,open.GDAL
它没有用
非常感谢您的宝贵帮助
我会使用 raster
包中的 stack
和 calc
函数。函数 stack
创建了一堆栅格,所有栅格都具有相同的分辨率和范围,并且可以轻松执行诸如取每个像元的平均值之类的操作。所以:
library(raster)
fs <- list.files(pattern='tif$')
rasterstack <- stack(fs)
rastermean <- calc(rasterstack, fun=mean)
请注意,如果您的栅格分辨率不同,则必须使用 resample
函数,如果它们的范围不同,则必须使用 crop
。在 RStudio 中输入 ?resample
和 ?crop
将显示使用这些函数的说明。
我很绝望,因为我的问题看起来很简单,但我找不到解决方法。
目标:
- 我想从文件夹中读取 1 到 4 个光栅文件。我需要的名字列在列表中作为字符。
- 打开文件后,我想创建一个与文件平均值相对应的新栅格。
我可以在QGIS上管理它,但我需要自动化流程,因为我有很多人!
1) 它应该与 list.files(pattern = )
一起使用,但由于名称在列表中,我不知道该怎么做。
例如:对于第一个人,我必须读取 2 个名为 2018-12-27_sic.tif
和 2018-12-27_sic_con.tif
我试着用 readGDAL
阅读,open.GDAL
它没有用
非常感谢您的宝贵帮助
我会使用 raster
包中的 stack
和 calc
函数。函数 stack
创建了一堆栅格,所有栅格都具有相同的分辨率和范围,并且可以轻松执行诸如取每个像元的平均值之类的操作。所以:
library(raster)
fs <- list.files(pattern='tif$')
rasterstack <- stack(fs)
rastermean <- calc(rasterstack, fun=mean)
请注意,如果您的栅格分辨率不同,则必须使用 resample
函数,如果它们的范围不同,则必须使用 crop
。在 RStudio 中输入 ?resample
和 ?crop
将显示使用这些函数的说明。