【问题标题】:Vector memory exhausted with projectRaster function in RR中的projectRaster函数耗尽了矢量内存
【发布时间】:2019-09-29 17:32:10
【问题描述】:

我正在使用 raster 包函数 projectRaster 将高分辨率光栅 (~700Mb) 匹配到较低分辨率的光栅 (~1Mb)。不幸的是,我遇到了这个错误;

Error: vector memory exhausted (limit reached?)

基于this thread,看起来可以扩展R的内存。但是,如果可能的话,我想避免弄乱这个。我想知道是否可以选择将更高分辨率的光栅分成更小的组件并零碎进行重新投影?还是这比它的价值更麻烦,我应该调查内存增加选项?或者更好的是,是否有一种解决方法可以完全避免这个问题?我不能是唯一一个使用中等大小的光栅文件的人...

【问题讨论】:

    标签: r memory vector raster r-raster


    【解决方案1】:

    您应该能够告诉raster 使用less 内存。或许使用rasterOptionsmemfrac 设置为较低的值

    rasterOptions()
    rasterOptions(memfrac=.3)
    

    另外,在使用projectRaster之前,最好先aggregate高分辨率栅格,使像元大小约为低分辨率栅格的一半

    【讨论】:

    • 谢谢!我不知道rasterOptions。只需减少 memfrac 就足以让它工作。至于你的第二个建议;有两个重采样步骤会失去准确性吗? (即aggregate 步骤和projectRaster
    • 我认为它会更准确,只要你不要过度聚合。那是因为 projectRaster 将查询以新像元为中心的旧栅格;如果分辨率差异很大,旧单元格的表示可能会很差。
    猜你喜欢
    • 2018-12-21
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多