2016-11-07 70 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