如何以R对象格式保存栅格数据?

时间:2016-11-07 19:37:25

标签: r save raster

我不知道如何使用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,也不是网格等。

2 个答案:

答案 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上尝试过这种方法,它从不会出现问题