微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在处理更大的栅格时处理临时目录和工作区的最佳方法是什么?

如何解决在处理更大的栅格时处理临时目录和工作区的最佳方法是什么?

由于临时文件夹占用了大量工作空间,因此我在远程桌面引用 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
  1. 在这里做错了什么?是不是因为我改了临时目录?
  2. 有关如何有效处理此问题的任何进一步建议(未来参考)。

解决方法

你的问题需要更具体,否则我们只能猜测。请尽可能使用可重现的示例,但至少显示您正在使用的代码,而不是一些伪代码。就像在 this question 中一样,您可能犯了一些基本错误,但如果您不展示自己的所作所为,我们将无法帮助您。

显然你所说的"file"实际上是"/tmp/RtmpiiUwq0/spat_jprtedxq260WQLq.tif"

该文件位于 R 创建的临时文件夹中。会话结束时会删除此类文件夹。但是,您声明您将文件保存在别处。如果是这种情况,您应该使用该文件。如果你不问一个更好的问题,那就没什么好说的了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?