1

我得到错误:

Error in file(fn, "rb") : cannot open the connection
In addition: Warning message:
In file(fn, "rb") :
  cannot open file 'C:\Users\***\AppData\Local\Temp\Rtmpwh6Zih\raster\r_tmp_2020-05-
13_170601_12152_33882.gri': No such file or directory

当我在 RStudio (1.2.5042) 中运行以下代码时:

raster.binair <- vector(mode = "list", length = length(aggregated.rasters)) 
for (i in 1:NROW(aggregated.rasters)) { 
+     clamped <- clamp(aggregated.rasters[[i]], upper=12, useValues=FALSE)
+     raster.binair[[i]] <- clamped
+   } 

“aggregated.rasters”是 96 个栅格的列表,当我单独运行它时,我得到了正确的列表。我最近清理了我的临时目录(由tempdir()访问)并删除了其中的文件。我想这部分:

cannot open file 'C:\Users\***\AppData\Local\Temp\Rtmpwh6Zih\raster\r_tmp_2020-05-
13_170601_12152_33882.gri': No such file or directory

指的是这个。我不知道我在这里做错了什么。我可以取回这些文件或解决此错误吗?

4

1 回答 1

0

当 R 会话结束时,临时文件夹中的文件将被删除。所以你永远不应该指望他们。您可以再次运行代码,但如果您想永久保留结果,则需要将它们写在别处。这里有两个选项

写很多文件

raster.binair <- vector(mode = "list", length = length(aggregated.rasters)) 
for (i in 1:NROW(aggregated.rasters)) { 
    f <- paste0("raster_", i)
    clamped <- clamp(aggregated.rasters[[i]], upper=12, useValues=FALSE, filename=f)
    raster.binair[[i]] <- clamped
} 

写一个文件

raster.binair <- vector(mode = "list", length = length(aggregated.rasters)) 
for (i in 1:NROW(aggregated.rasters)) { 
    raster.binair[[i]]  <- clamp(aggregated.rasters[[i]], upper=12, useValues=FALSE)
} 
s <- stack(raster.binair)
s <- writeRaster(s, filename="mydata.tif")
于 2020-05-17T23:21:25.157 回答