处理大型栅格时,最好的 wopt 和 gdal 选项是什么terra::
?我想将栅格堆栈(2.5arcmin)与分辨率更高(500 * 500m)的栅格相匹配。工作流程:尽可能接近地分解,然后重新采样,最后屏蔽。这可行,但输出 tif > 100gb,并且该过程需要很长时间。
r <- rast("rasterstack_004166deg.tif")
r_template <- rast("rasterstack_000449deg.tif")
wopt_options <- list(gdal = c("BIGTIFF=YES",
"PREDICTOR = 2",
"NUM_THREADS = ALL_CPUS"),
tempdir = "/somewhere_I_have_a_lot_of_space",
todisk = TRUE)
r_processed <- disaggregate(r, fact = 9) %>%
resample(., r_template) %>%
mask(., r_template,
filename = "outputfile.tif",
wopt = wopt_options)
wopt_options也应该放在里面terra::disaggregate()
吗terra::resample()
?有什么方法可以减小文件大小并加快进程?
我还尝试了以下 gdal 选项gdal=c("COMPRESS=DEFLATE", "TFW=YES")
or gdal=c("COMPRESS=LZW", "TFW=YES")
,但没有真正改变。也尝试过没有任何 gdal 选项。
此外,我还raster::projectRaster()
使用更快且 outputfile.tif 小得多的函数(使用分解的 r)来执行此操作。但是,我想我应该避免projecRaster()
在这里使用:
beginCluster()
r_processed<-
projectRaster(stack(r_disaggregated),
raster(r_template),
filename = "outputfile.tif")
endCluster()