2017-12-07 21 views
1

25 년 동안의 랜드 커버 래스터의 시계열을 가지고 있습니다. 이것은 범주적인 데이터이므로 levelplot(inputRaster) (rasterVis 라이브러리의 일부)을 사용하여 단일 래스터를 플로팅합니다. 그러나, 나는 을 순차적으로으로 계획하고있다. 래스터 라이브러리의 animate 기능이 그러 하듯이, 매년 래스터를 플롯한다. 내가R 래스터에서 레벨 플롯 시리즈와 함께 animate()를 사용하십시오.

rasStack <- stack(listOfRasters) animate(rasStack)

을 사용하면 결과는 범주 전설이 없습니다. 요약하면 levelplotanimate의 기능을 어떻게 결합 할 수 있습니까?

답변

2

기능 animate은 래스터 객체를 입력으로 허용합니다. 당신은 levelplots 애니메이션 saveGIF을 시도 할 수 있습니다 :

library(raster) 
library(rasterVis) 
library(animation) 
library(classInt) 

r <- raster(ncol=40, nrow=20) 
r[] <- rnorm(n=ncell(r)) 
s <- stack(x=c(r, r*r, r*r*r, r*r*r*r)) 

classes <- classIntervals(values(r), n=5, style="fisher", precision = 3) 
brks <- classes$brks 
brks <- round(brks, 2) 

saveGIF({ 
    for(i in c(1:nlayers(s))){ 
    l <- levelplot(s[[i]], colorkey=list(at=brks, labels=c(as.character(brks))), margin=FALSE) 
    plot(l) 
    } 
}, interval=0.2, movie.name="animation.gif") 

enter image description here