在 R 包 Terra 中按总和合并多个 SpatRasters

问题描述 投票:0回答:1

我有两个要合并的 SpatRaster。当它们合并时,我希望每个像素对两个栅格的值求和。我尝试了以下代码,但它不起作用。我该怎么做?

abd_projected <- project(abd_Americas, crs, method = "near")
abd2_projected <- project(abd2_Americas, crs, method = "near")

class(abd_projected)
[1] "SpatRaster"
attr(,"package")
[1] "terra"
class(abd2_projected)
[1] "SpatRaster"
attr(,"package")
[1] "terra"

merged_abd <- merge(abd_projected, abd2_projected fun = sum )

Error: unexpected symbol in "merged_abd <- merge(abd_projected, 
abd2_projected fun"

merged_abd <- merge(abd_projected, abd2_projected, FUN = sum )
Error: [sprc] list elements should be 'SpatRaster'
is of class: function

我也试过了

mergedABD <- raster::merge(abd_projected, abd2_projected, 
tolerance=0.1)

abdall_projected<- c(abd_projected, abd2_projected)
rsum <- app(abdall_projected, sum)

都没用

如果它有助于我尝试合并绘制的数据是来自包 ebirst 的物种数据。我想在绘制它们之前组合两个物种丰度空间(栅格)数据集。

r merge spatial r-raster terra
1个回答
0
投票

您可以使用

mosaic
代替,因此您可以将
"sum"
表示为用于计算重叠像素中像素值的函数。

library(terra)
    
resul <- mosaic(abd_projected, abd2_projected, fun = "sum")
© www.soinside.com 2019 - 2024. All rights reserved.