我不知道如何使用R中的栅格数据处理save.image()
和saveRDS()
。我已经了解光栅包使用raster()
函数打开与图像文件的连接,所以它并没有真正将文件打开到R工作区。
我想用save.image()
函数(或类似函数)保存我的工作区(data.frame,list,raster等)并在另一台计算机中打开它。如果我尝试绘制或处理保存在其他计算机中的栅格对象,则始终存在相同的问题:
Error in .local(.Object, ...) :
`C:\path\to\file.tif' does not exist in the file system,
and is not recognised as a supported dataset name.
有没有办法以R格式保存栅格对象(以外部文件打开)?我不是指光栅格式为tiff,也不是网格等。
答案 0 :(得分:3)
在保存之前,可以使用r <- raster(system.file("external/test.grd", package="raster"))
r <- readAll(r) # force data into memory
save(r, file = 'r.RData')
函数将栅格加载到内存中,后果自负。例如
load('r.Rdata`)
可以如上所述将其加载到其他计算机上
initMap
当心,这对于内存受限系统上的超大栅格将是有问题的
答案 1 :(得分:0)
您可以使用save
命令保存栅格,就像其他R对象一样。
save(r,file="r.Rdata")
在另一台计算机上,您可以使用
加载该文件load("r.Rdata")
将带回您工作区中的栅格r
。
我在Windows和Linux上尝试过这种方法,它从不会出现问题