【问题标题】:How do I stack raster files in R?如何在 R 中堆叠光栅文件?
【发布时间】:2021-05-23 15:00:34
【问题描述】:

我正在尝试使用三个 .grd 格式的空间栅格在 R 中使用 dismo 包执行栅格堆栈。这三个网格文件位于路径 "D:~" 中。我正在使用此代码,

files= list.files(path = "D:~",pattern = 'grd',full.names = TRUE)

得到的错误输出是

x[[1]] 中的错误:下标超出范围

有人可以帮忙吗?提前致谢

【问题讨论】:

  • 我很难相信list.files(path = "D:~",pattern = 'grd',full.names = TRUE) 的输出是Error in x[[1]] : subscript out of bounds

标签: r spatial raster


【解决方案1】:

如果文件在子目录中,那么你可以使用recursive=TRUE:

files <- list.files(path="D:", pattern="grd", all.files=FALSE, full.names=TRUE,recursive=TRUE)
s <- stack(files)

【讨论】:

    【解决方案2】:

    只需使用光栅包中的堆栈函数:

    files=c("layer1.grd", "layer2.grd", "layer3.grd") 
    library(raster)
    raster_stack=stack(files)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2020-12-04
      • 2020-03-06
      • 1970-01-01
      相关资源
      最近更新 更多