在 R 中将 2 个或多个光栅堆栈合并为 1 个
Merging 2 or more raster stacks in 1 in R
我有 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)
知道如何做到这一点吗?谢谢
如果它们具有相同的投影、范围和分辨率,则可以在堆栈上使用堆栈:
merged_stack <- stack(stack1, stacka)
我有 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)
知道如何做到这一点吗?谢谢
如果它们具有相同的投影、范围和分辨率,则可以在堆栈上使用堆栈:
merged_stack <- stack(stack1, stacka)