【问题标题】:R: Error output while using GRASSR:使用 GRASS 时输出错误
【发布时间】:2016-01-25 04:09:24
【问题描述】:

我见过这个this,但即使我删除了文件名和附加数字之间的空格或分隔符,我仍然会收到同样的错误。对此有什么建议吗:

execGRASS("r.in.gdal",flags=c("o","overwrite"),
parameters=list(input=paste(path, paste("T", as.character(i),
sep=""), sep="/"), output=paste("T", as.character(i), sep="")))

ERROR 4: `F:/Desktop/Folder/T1' does not exist in the file system,
and is not recognised as a supported dataset name.

我还检查了路径中是否不存在该特定文件 T1。但令人惊讶的是它确实存在。

操作系统:Windows 10,草版本:7.0

谢谢。

【问题讨论】:

  • 这看起来不像是来自 R 的错误,但“F”之前的反引号可能表示外部(对 R)包存在问题。您应该:a) 发布更完整的代码,包括库调用,以及 b) 发布 list.files("F:/Desktop/Folder/T1") 的结果
  • 请告诉我们您使用的是哪个软件包(spgrass 还是 rgrass7?)并通过dir.exists 表明 文件夹 存在
  • @42 脚本真的很长,所以我只好把它的重要部分贴出来。但我会做的。但正如您要求的 list.files(),它们是: > list.files("F:/Srnu/RLP_Thesis") [57] "SSP_GK3.shx" "T 1.tif" [59] "T_1. tif” “T1.tif” [61] “UC” “UC.Rdata” [63] “UC_Extraction_Manual.R” “UC_Poly.dbf” [65] “UC_Poly.prj” “UC_Poly.qpj” [73] “URC_rast. tif"
  • @RobertH 我目前正在使用 rgrass7。并且 dir.exists 产生了一些有趣的结果,它们是: > dir.exists("F:/Srnu/RLP_Thesis/T_1") [1] FALSE > dir.exists("F:/Srnu/RLP_Thesis") [1] TRUE 但是 list.files() 说,该文件存在于 lib 中。
  • 我想这里的问题是,我必须输入文件类型,即“GTiff”,有人可以帮我在上面的代码中如何输入文件类型吗?

标签: r grass


【解决方案1】:

您的list.files("F:/Srinu/RLP_Thesis") 没有显示名为F:/Desktop/Folder/T1 的文件。实际上有不相关的路径。

无论哪种方式,它都应该类似于F:/Desktop/Folder/T1.tif

如果您对如何通过代码创建文件名感到困惑,请首先使用实际文件名测试您的函数。您可能正在寻找类似的东西:

input = paste0(path, "/T", i, ".tif")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 2023-03-16
    相关资源
    最近更新 更多