Install
openclaw skills install @ruiduobao/geoskill-animated-map-seriesCompose multi-temporal rasters into unified rendered frames and a GIF animation
openclaw skills install @ruiduobao/geoskill-animated-map-seriesRenders multi-temporal rasters (one epoch per band of a multi-band GeoTIFF) into per-frame PNGs using a unified color scale, then composes them into a looping GIF. The unified color scale keeps epochs comparable with each other.
Synthetic mode generates an NDVI-like seasonal time series (trend + spatial pattern + noise), with each frame carrying a time label and color bar.
unified_scale computes cross-epoch global minmax/percentile endpoints → per-epoch normalization → colormap rendering of frames (with labels/color bar) → GIF composition with PIL.
pip install numpy rasterio scipy matplotlib geopandas shapely pillow
python geoskill-animated-map-series.py --bbox 116.0 39.0 117.0 40.0 --synthetic --output-dir ./out
python geoskill-animated-map-series.py --input series.tif --duration 300 --cmap viridis
python geoskill-animated-map-series.py --input series.tif --scale percentile --pct 2
python geoskill-animated-map-series.py --bbox 116 39 117 40 --synthetic --periods 12
python geoskill-animated-map-series.py --input series.tif --cmap terrain
| File | Format | Description |
|---|---|---|
animation.gif | GIF | Looping animation (primary output) |
frames/frame_XXX.png | PNG | Per-frame images |
series_stack.tif | GeoTIFF | Multi-epoch stack (verifiable output) |
frames.json | JSON | Frame statistics and color scale info |
Each run also produces output-manifest.json (run manifest).
Local GeoTIFF / vector files; --synthetic mode generates physically consistent simulated data, fully offline.
--synthetic mode requires no network at all.MIT
把多期栅格(多波段 GeoTIFF 每波段一期)用统一色标渲染成逐帧 PNG,再合成为循环 GIF。统一色标保证各期之间可比较。
合成模式生成 NDVI 式季节时序(趋势 + 空间格局 + 噪声),每帧带时间标签与色标条。
unified_scale 计算跨期全局 minmax/percentile 端点 → 逐期归一化 → colormap 渲染帧(含标签/色标)→ PIL 合成 GIF。
pip install numpy rasterio scipy matplotlib geopandas shapely pillow
python geoskill-animated-map-series.py --bbox 116.0 39.0 117.0 40.0 --synthetic --output-dir ./out
python geoskill-animated-map-series.py --input series.tif --duration 300 --cmap viridis
python geoskill-animated-map-series.py --input series.tif --scale percentile --pct 2
python geoskill-animated-map-series.py --bbox 116 39 117 40 --synthetic --periods 12
python geoskill-animated-map-series.py --input series.tif --cmap terrain
| 文件 | 格式 | 说明 |
|---|---|---|
animation.gif | GIF | 循环动画(主产物) |
frames/frame_XXX.png | PNG | 逐帧图像 |
series_stack.tif | GeoTIFF | 多期 stack(可验证产物) |
frames.json | JSON | 帧统计与色标信息 |
每次运行还会产出 output-manifest.json(运行清单)。
本地 GeoTIFF / 矢量文件;--synthetic 模式生成物理一致的模拟数据,完全离线。
--synthetic 模式完全无网络。MIT