我正在尝试合并具有不同范围的光栅化折线,以创建指示单元格重叠次数的单个曲面。
由于计算限制(考虑到我的研究区域的大小),我无法对每个栅格使用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)})
}
}
当前输出图片
单条路线的图片(示例):
修复图片
答案 0 :(得分:3)
解决。有一个马赛克功能,允许以下内容:
combined_raster <- mosaic(combined_raster, road_rast_i, fun = sum)