QGISで桜が開花していく日本地図のアニメーションを作りたい！

![sakura0000.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/9e27fff2-7273-7b64-5ff2-672c26f31fa4.gif)
さくら舞い散る中に本州の記憶を忘れてしまった北海道移住1年目です。
本州の各地から続々と桜の開花の便りが届いていますね。
北海道では桜が見れるのは当分先になりそうなので、地図上に咲かせてみることにしました。

桜は１月に沖縄で咲いたあと、３月末に九州から四国・本州、そして５月にかけて北海道へ北上するように開花していきます（いわゆる桜前線）。
この様子を日本地図上でアニメーションにしたい！というのが今回の目的です。

# 時系列データを表示させる！
気象庁の「2023年のさくらの開花状況」より、それぞれの気象官署（地方気象台など）における開花日がわかります。

https://www.data.jma.go.jp/sakura/data/sakura_kaika.html

今年はまだ一部の地域しか開花していないということもあり、平年日（過去30年の平均）を使用することにしました。

こちらの日付をQGISに読み込むにはDayTime形式（`2023-03-15`のような形式）に変換する必要があります。こちらはExcelで変換しました。

気象官署の緯度経度は気象庁のホームページで度分秒のデータしか見つけられなかったため、10進数にちまちま変換しました（自分が見つけられなかっただけでどこかにあったらすみません）。
![スクリーンショット 2023-03-15 19.53.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/c93ee332-74c8-5256-256b-ed31926e760a.png)
経緯度と開花日を記述したcsvができればもう山場は越えています！

QGISを起動し左上にあるデータソースマネージャ（画像の赤丸部分）からCSVテキストを選択。ジオメトリ定義のポイント座標のX属性に経度（field_3）を、Y属性に緯度（field_2）とし、右下の追加ボタンを押します。
![スクリーンショット-2023-03-15-20.02.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/60cfbf9b-754b-476f-ed22-2c05835167bf.png)

すると、ポイントが日本列島の形に表示されます！
![スクリーンショット 2023-03-15 20.00.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/7d2ada11-b34d-08c1-984f-3f6e83dc2cf0.png)

左下のレイヤ名を右クリック、プロパティを選択します。
そして左の「時系列」を選び、下の画像のようにします。
![スクリーンショット 2023-03-15 20.05.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/840d26fd-377c-5548-4a20-46cb148b82ad.png)
さらに上のメニューの「ビュー」→「パネル」から「時系列コントローラ」を選択すると、地図画面の上に表示されるので「時系列ナビを無効化」と書かれた左隣の再生ボタン▶️をクリックしてください。
するとこのようなコントローラが出てきます。「範囲」は再生開始日、「終了」は終了日です。
今回は1月開始の5月末終了とし、「ステップ」は「日（days）」とします。
さらに右上の歯車ボタンを押してフレーム数/秒で再生速度を変更することができます。今回は10としました。
![スクリーンショット 2023-03-15 20.11.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/6e002e8b-2447-f8a1-af0d-9dfec5c5166f.png)

巻き戻しボタン⏮を押したあと、再生ボタン▶を押してみましょう。
![画面収録_2023-03-15_20_13_28_AdobeExpress (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/85658436-a21c-d091-36f7-24ec072fd9e6.gif)
ポイントが時系列で表示できました！！

# アイコンにアニメーションGIFを使う
実は、gifのようなアニメーションをアイコンに使えるという素敵な機能が昨年QGISに実装されました。

桜のアイコンをただ表示させるよりは開花するアニメーションの方が見栄えが良さそうなのでイラストを作り、gifアニメにしたのが下の画像です。
![tSdD7O7j1ImUnbDXjl761678808127-1678808254.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/d1ab715b-2044-619f-ff0e-df7543f27f76.gif)

これで南の方から桜が次々に開花していくエモそうな動画ができる…

#### …はずが、とんでもない事実が！

QGIS上において、非ループのgif動画も強制的にループ表示されてしまうようなのです（上の画像もループ表示されている方もいらっしゃるかもしれませんがQiitaの仕様なのかも…）。

開花日になって桜が開花するのはいいのですが、その後も無限に開花し続けるという、サ●エさんのオープニングの最後みたいな動画になってしまいました。
![画面収録_2023-03-15_20_25_01_AdobeExpress.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/3656d80c-6363-c37e-1a05-612ed48ad0d4.gif)
これではどうにもならないので、gifアイコンを使うことはやめ、開花日をつぼみのアイコン、開花翌日を開花後のアイコンにすることで擬似的なアニメーションを作りました。
（つまり、QGISに読み込むcsvとしては開花日と開花翌日の2つのファイル存在することになります）
![スクリーンショット 2023-03-15 20.30.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/a4f56057-4404-7768-6747-817949401dc7.png)
時系列データを2ファイルも読み込んでちゃんと表示されるのか？　つぼみと開花後だけの2コマだけで開花したアニメーションに見えるのか？　と二重の意味で不安でしたが、いい感じに表示されました。やったね。

# 細かい見た目の調整
日本地図を国土地理院の「国土数値情報」から持ってきて背景色もいい感じにして、あとは日付を入れます。
タイトルの入れ方がよくわからなかった＆位置の細かい調整が難しそうなのでイラレで作ったものをsvgに書き出してQGIS上にペタっと貼り付け！

動画の完成です！（ぜひ最後まで瞬き禁止でご注目してみてください）
![sakura0000.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705702/1a4db2e3-1e10-3bd2-9ff7-52f08d2acbf8.gif)
1月中旬に沖縄〜奄美で開花したあと、3月下旬まで全く動きがなく（開花しない）、その後一気に九州〜関東甲信まで開花するというなかなかのワイルドな動画になっています。

作る前はこの動画で言うところの東北〜北海道のように、南から徐々に開花するイメージを持っていました。

まさに百聞は一見にしかずではないですが、可視化することで見えてくるものがある、ということを思い知らされますね。

時系列の可視化に初めてチャレンジしてみたのですが、自分のように全くコードがわからない・書けない人でも作れたので、ぜひみなさんもやってみてください！

## 参考文献
- [QGISの標準機能でアニメーション作成](https://qiita.com/fukuoka1960/items/75959348f6d3280bc9dd)
- [都道府県をぶりぶり膨らませてみた](https://qiita.com/Yfuruchin/items/122e8c3b6f5547e48050)
- [気象庁｜生物季節観測の情報](https://www.data.jma.go.jp/sakura/data/index.html)
- [国土交通省　国土数値情報ダウンロードサービス](https://nlftp.mlit.go.jp/ksj/)