问题描述
我一直在尝试使用 tmap::tmap_animation()
为栅格堆栈设置动画。每个图层覆盖的地理范围完全相同,但日期不同。输出的 GIF 动画是一帧多小图。
是否可以使用 tmap
创建 RasterStack 的 gif 动画?
我发现的唯一解决方法是:
完成上述步骤后,就可以绘制 gif 动画了,但是速度很慢。
解决方法
tmap
可以将光栅堆栈或光栅砖直接绘制为动画。最简单的方法是指定 tm_facets()
将每帧中的行数和列数限制为 1,这会阻止它创建小的倍数,例如:
library(raster)
library(tmap)
a <- raster(matrix(runif(100),10,10))
b <- raster(matrix(runif(100),10))
c <- raster(matrix(runif(100),10))
d <- raster(matrix(runif(100),10))
my_stack <- stack(a,b,c,d)
anim <- tm_shape(my_stack) + tm_raster() + tm_facets(nrow = 1,ncol = 1)
tmap_animation(anim,"anim_file.gif")