问题描述
由于临时文件夹占用了大量工作空间,因此我在远程桌面引用 R-help 解决方案中的文件夹中建立索引,在我的情况下使用 terraOptions
以这种方式:
terraOptions(tempdir = "/processing/tmp_terra/")
我裁剪了一个光栅(花了 6 个小时)并将其作为文件名 LA_crop.tif
保存到另一个具有不同名称的文件夹中。
我在新会话中加载了保存的栅格:
myRaster <- rast(“/home/shared/om/data/rasters/LA_crop.tif”)
mypolygon <- vect(“/home/shared/om/data/polygons/PA.gpkg”)
# Now,while performing other operations like:
r <- rasterize(mypolygon,myRaster,mypolygon$ID)
# I am getting this error:
Error: [rasterize] file does not exist: /tmp/RtmpiiUwq0/spat_jprtedxq260WQLq.tif
# Everytime I run the code,the name of tmp file in error part gets changed:
Error: [rasterize] file does not exist: /tmp/RtmpnyTR6l/spat_MpDvnvNP26auyqt.tif
sessionInfo()
# R version 4.0.3 (2020-10-10)
# Platform: x86_64-pc-linux-gnu (64-bit)
# Running under: Ubuntu 20.04 LTS
但是,当我以 here 中的示例执行类似操作时,它工作正常。
library(terra)
# terra version 1.1-4
f <- system.file("ex/lux.shp",package="terra")
v <- vect(f)
f <- system.file("ex/elev.tif",package="terra")
r <- rast(f)
z <- rasterize(v,r,"NAME_1")
zonal(r,z,mean,na.rm=TRUE)
# zone elevation
#1 0 403.1779
#2 1 283.8853
#3 2 316.1935
- 我在这里做错了什么?是不是因为我改了临时目录?
- 有关如何有效处理此问题的任何进一步建议(未来参考)。
解决方法
你的问题需要更具体,否则我们只能猜测。请尽可能使用可重现的示例,但至少显示您正在使用的代码,而不是一些伪代码。就像在 this question 中一样,您可能犯了一些基本错误,但如果您不展示自己的所作所为,我们将无法帮助您。
显然你所说的"file"
实际上是"/tmp/RtmpiiUwq0/spat_jprtedxq260WQLq.tif"
该文件位于 R 创建的临时文件夹中。会话结束时会删除此类文件夹。但是,您声明您将文件保存在别处。如果是这种情况,您应该使用该文件。如果你不问一个更好的问题,那就没什么好说的了。