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

ald*_*pia 4 r raster save

我不知道如何在 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.
Run Code Online (Sandbox Code Playgroud)

有没有办法以 R 格式保存光栅对象(作为外部文件打开)?我不是指光栅格式为 tiff 或网格等。

use*_*177 5

您可以自行承担风险,readAll在保存之前使用该函数将栅格加载到内存中。例如

r <- raster(system.file("external/test.grd", package="raster"))
r <- readAll(r) # force data into memory
save(r, file = 'r.RData')
Run Code Online (Sandbox Code Playgroud)

如前所述,它可以加载到不同的机器上

load('r.Rdata`)
Run Code Online (Sandbox Code Playgroud)

请注意,这对于内存有限系统上的非常大的栅格来说是有问题的