在R中合并2个或多个栅格堆栈

时间:2017-05-05 18:07:24

标签: r raster r-raster

我有2个(或更多)光栅堆栈。每个人都进行了不同的处理(任何类型的东西),并且两个堆栈都保持着他们的范围和分辨率(最初,两者都具有相同的范围和分辨率)。现在我想让它们成为一个堆栈,而不是2.所以,我会有一个'merged_stack',它将包含来自两个(或更多)堆栈的所有栅格。 例如:

#creating some data
m1 = matrix(1,30,30)
m2 = matrix(2,30,30)
ma = matrix(10,30,30)
mb = matrix(20,30,30)

#transforming in raster
r1 = raster(m1)
r2 = raster(m2)
ra = raster(ma)
rb = raster(mb)

#now 2 different stacks
stack1 = stack(r1,r2)
{...} some stuff (like raster name changing, sums, multiplications, etc)
goes with stack1 (this stuff does not change extent or resolution of the rasters)

stacka = stack(ra,rb)
{...} diferent stuff goes with stack2 (same here)

#using 'merge' does not work
merged_stack = merge(stack1,stacka)

有关如何做到这一点的任何想法?感谢。

1 个答案:

答案 0 :(得分:1)

如果它们具有相同的投影,范围和分辨率,则可以在堆栈上使用堆栈:

merged_stack <- stack(stack1, stacka)