2013-05-20 5 views
5

Ho bisogno di impilare alcuni raster in un ciclo come:Stack raster in un ciclo

for(month in 1:12){ 
. 
. 
. 
"some algorithm spiting out a raster called 'sm_esa'" 
sm_esa_stack<-stack(sm_esa) 
} 

Alla fine mi piacerebbe creare una pila con 12 strati (un mese ciascuno). Ma la mia ultima battuta ovviamente sovrascrive con ogni nuovo raster anziché con gli stack. Qualche suggerimento?

risposta

11

Istanzia uno stack vuoto all'esterno del ciclo e dopo ogni iterazione del loop, aggiungi il nuovo rasterLayer allo stack impilando sia lo stack corrente che il nuovo Rasterlayer.

x <- stack() 
for(month in 1:12){ 
. 
. 
. 
"some algorithm spiting out a raster called 'sm_esa'" 
x <- stack(x , sm_esa) 
} 
+0

Funziona come un fascino. Grazie mille! – EDU

+0

C'è un modo per creare uno stack raster con i parametri di output definiti e scrivere banda per banda nel loop? – WAF