我正在使用 terra 包中的初始化函数在 RStudio 中创建栅格。根据文档,此功能应该适用于大型栅格,但是当我尝试为所有单元格创建一个具有单个值的 10,000 x 10,000 栅格时,我在 RStudio 中遇到了一个致命错误。
使用示例代码按预期工作
r <- rast(ncols=10, nrows=5, xmin=0, xmax=10, ymin=0, ymax=5)
z <- init(r, fun=8) # works
但是,当我将尺寸增加到 10k x 10k 时,会发生致命错误。
r <- rast(ncols=10000, nrows=10000, xmin=0, xmax=10000, ymin=0, ymax=10000)
z <- init(r, fun=8) # crashes
在我的 Macbook Pro 上观察活动监视器显示,当 RStudio 进程超过 80GB 的 RAM 运行代码时,内存压力会达到峰值。我的计算机上有 16GB 的 RAM,所以我认为问题可能与某些内存问题有关?
我不确定该功能是否未按预期工作,或者问题是否出在 RStudio 上。还是我做错了什么?
任何帮助将不胜感激。
我的规格:
操作系统:Monterey 12.0.1
芯片:Apple M1 Pro。
R 版本:4.1.2 (2021-11-01)
RStudio 版本:2021.9.1.372 《鬼兰花》
编辑:
大地版本:1.4.22
我在@FKneip 的链接中尝试了 rhijmans 推荐的两种解决方案,但都导致了与以前相同的致命错误。
r <- rast(ncols=10000, nrows=10000) # works
values(r) <- 1 # crashes
z <- init(r, 1, filename="test.tif", datatype="INT1U") # crashes