2017-05-05 76 views
0

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

#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

你可以用'stack'在堆栈:'merged_stack < - 栈(栈1,stacka)' –

+0

没错,只是'堆叠'堆栈...请记住,他们需要有相同的程度,分辨率等。 – Val

+0

什么?它的工作原理非常感谢。 = D – Jonathan

回答

0

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

merged_stack <- stack(stack1, stacka)