合并不同程度的栅格,将R中的重叠单元格值相加

时间:2018-06-07 11:30:51

标签: r merge raster overlap

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

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

我在R中遇到了merge函数,这允许我将栅格合并到一个表面中。但是,似乎并不喜欢我插入一个函数来计算重叠单元格的总和。

也许我错过了一些明显的东西,或者这是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)})
  }
 }

当前输出图片

Image of current output

单条路线的图片(示例):

Image of a single route (example)

修复图片

Image of fix)

1 个答案:

答案 0 :(得分:3)

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

combined_raster <- mosaic(combined_raster, road_rast_i, fun = sum)