У меня есть растровый блок SCA (nrow=108,ncol=132,nlayers=365), который содержит частичный снежный покров. Я хочу сделать из этого 46 стеков по 8 слоёв и рассчитать максимальный фракционный снежный покров из этих 46 стеков. Как мне это сделать?
Как зациклить растровый кирпич?
Ответы (1)
Я думаю, вы можете сделать это следующим образом:
library(raster)
# example data
sca <- brick(nrow=108,ncol=132,nl=365)
values(sca) <- runif(ncell(sca)*nlayers(sca))
# indices grouping sets of 8
i <- rep(1:ceiling(365/8), each=8)
# the last period is not a complete set of 8 days
i <- i[1:nlayers(sca)]
x <- stackApply(sca, i, max)
Если вам нужен цикл (но это R, старайтесь избегать циклов), вы можете сделать
for (i in 1:nlayers(sca)) {
x <- sca[[i]]
# etc.
}
person
Robert Hijmans
schedule
02.04.2016