2016-11-07 229 views
1

我不知道如何处理save.image()saveRDS()以及R中的栅格数据。我已经理解,栅格包使用raster()函数打开与图像文件的连接,所以它并不真正将文件打开到R工作区。如何保存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格式的栅格对象(如打开外部文件)?我不是指栅格格式,也不是网格和其他格式。

+1

您可以另存为空间像素数据帧。看到这里:http://gis.stackexchange.com/a/111542 – lbusett

+0

@ lorenzo-busetto谢谢!完美的作品! –

回答

1

使用save命令可以像其他R对象一样保存栅格。

save(r,file="r.Rdata") 

在另一台计算机,就可以加载使用

load("r.Rdata") 

该文件将带回光栅r在您的工作空间。

我已经在Windows和Linux上试过这个,它从不给出问题

+0

很棒的回答。我尝试跨OS X和Windows,效果很好! –

+2

我在相同的问题上发现了一些问题,但是我担心这与@aldo_tapia提到的'saveRDS()'有相同的问题。对于这种情况,'save.image()','save()'和'saveRDS()'之间没有太大区别 - 检查[article](http://www.fromthebottomoftheheap.net/2012/04/04/01/saving -and加载-R-对象/)。它们都只保存光栅的路径,而不是光栅本身,因为光栅没有加载到RAM中。 – Valentin