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

标签 r save raster

不知道怎么处理save.image()saveRDS()使用 R 中的栅格数据。我知道栅格包使用 raster() 打开与图像文件的连接。函数,所以它并没有真正将文件打开到 R 工作区。

我想用 save.image() 保存我的工作区(data.frame、列表、栅格等)函数(或类似的)并在另一台计算机上打开它。如果我尝试绘制或处理保存在不同计算机中的光栅对象,总会遇到同样的问题:

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 或网格等。

最佳答案

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

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

如前所述,它可以加载到不同的机器上
load('r.Rdata`)

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

关于r - 如何以 R 对象格式保存栅格数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40473199/

相关文章:

r - 输出具有重复值的向量

r - 按名称删除数据框列

r - 使用 Data.Table 的 Fread 和 Rbindlist 快速读取和合并

objective-c - iOS - 将数组保存到磁盘所需的时间

windows - 为什么 openoffice 和 libreoffice 在 Windows 7 和 8 上保存 odt 文件非常慢

r - 将 case_when 与 mutate 和函数一起使用时出错 : getting closest number to zero with NA

ruby-on-rails - Ruby on Rails 从一种形式保存在两个表中

r - 使用 randomForest、Caret 和因子变量预测栅格时出错

java - BufferedImage 和光栅 (Java)

gis - 在 QGIS 中播种大栅格图层的刷新