合并不同范围的栅格,对R中重叠的单元格值求和

Spa*_*ing 6 merge r raster overlap

我正在尝试合并具有不同范围的光栅化折线,以创建指示单元重叠次数的单个表面。

由于计算限制(考虑到我的研究区域的大小),我无法使用extend然后stack为每个栅格(总计数 = 67)。

我遇到过mergeR 中的函数,这使我可以将栅格合并到一个表面中。然而,它似乎不喜欢我插入一个函数来计算重叠单元格的总和。

也许我遗漏了一些明显的东西,或者这是merge功能的限制。关于如何生成此输出的任何建议,避免extend&stack将不胜感激!

代码:

# read in specific route rasters
raster_list <- list.files('Data/Raw/tracks/rasterized/', full.names = TRUE)

for(i in 1:length(raster_list)){

   # get file name
   file_name <- raster_list[i]

   # read raster in
   road_rast_i <- raster(file_name)

   if(i == 1){

   combined_raster <- road_rast_i

   } else {

   # merge rasters and calc overlap
   combined_raster <- merge(combined_raster, road_rast_i, 
                            fun = function(x, y){sum(x@data@values, y@data@values)})
  }
 }
Run Code Online (Sandbox Code Playgroud)

当前输出的图像:

当前输出的图像

单个路线的图像(示例):

单个路线的图像(示例)

修复图像:

修复图像)

Spa*_*ing 6

解决了。有一个马赛克功能,它允许以下内容:

combined_raster <- mosaic(combined_raster, road_rast_i, fun = sum)
Run Code Online (Sandbox Code Playgroud)