リニューアルされた気象庁HPからデータをダウンロードしてPythonで実況図を作成する - アメダス編 -
はじめに
先月気象庁のホームページがリニューアルされた。使いにくくなったといったツイートも見受けられたが、個人的には好意的に受け止めている。
ただ、これまで早朝に自動でダウンロードしていたアメダス、レーダー、ウィンドプロファイラ、気象衛星画像などの実況データがダウンロードできなくなった。
というのも、これらのデータは以前は単なる画像データだったので、画像のURLを指定してダウンロードすれば良かったのだが、リニューアルに伴いこれらのデータが単なる画像データで提供されなくなったからだ。
そこで方法がないか調べていると、下記のサイトにあるようにJSON形式で気象データがダウンロードできるようになっていることがわかった。
そうであれば、JSON形式のデータを取得して自分で作ることができそうだということでやってみた。
アメダスのデータを作る
今回作成するのは見出し画像のアメダスの温度分布のような実況図だ。以前は早朝に自動ダウンロードしてアニメーションGIFに変換して保存していた。
上記の参考サイトにあるように、アメダスの位置などのデータは下記のURLの通りだ。
https://www.jma.go.jp/bosai/amedas/const/amedastable.json
このJSONデータは下記のようなデータになっている。
{
"11001": {
"type": "C",
"elems": "11112010",
"lat": [
45,
31.2
],
"lon": [
141,
56.1
],
"alt": 26,
"kjName": "宗谷岬",
"knName": "ソウヤミサキ",
"enName": "Cape Soya"
},
(以下省略)
'11001'は観測所番号をキーに、観測所ごとに観測所の緯度経度、名前などのデータを含んでいる。緯度経度はリスト型になっているが、[度、分]となっていることが分かる。
同様に、ある日時の各アメダスの観測値は下記のURLを指定すると取得できる。
https://www.jma.go.jp/bosai/amedas/data/map/(YYYYMMDDhhmm00).json
観測値のデータも観測所番号をキーに、温度や雨量などのデータが入っていることが分かる。
{
"11001": {
"temp": [
0.7,
0
],
"sun1h": [
0,
0
],
"precipitation10m": [
0,
0
],
"precipitation1h": [
0,
0
],
"precipitation3h": [
0,
0
],
"precipitation24h": [
2.5,
0
],
"windDirection": [
14,
0
],
"wind": [
8.6,
0
]
},
(以下省略)
この2つのデータを使えば、観測所の緯度経度と温度、雨量などが観測値が取得できることがわかる。あとは、これを使って日本地図上にプロットするだけだ。
ただ、データが欠損している場合や、観測所によって雨量のみのアメダスなどもあるので、その処理が必要になるので注意が必要だ。
改良の余地はあるが、下記が実際にPythonを使って温度をプロットしたものだ。
-- (2021/3/21追記) アニメーションGIFの画像に変更しました --
雨量も同様にプロットすると、下記のようになる。
-- (2021/3/21追記) アニメーションGIFの画像に変更しました --
なお、この方法は気象庁がAPIとして仕様を公開しているものではないため、今後仕様変更される可能性もある。
さいごに
今回はアメダスのデータを使ってプロットしてみたが、今後は他のデータも挑戦してみるつもりだ。ウィンドプロファイラはアメダスと同様に作図できる見込みがありそうだ。
ただ、気象衛星画像はまだ目処が立っていない。気象庁のHPからダウンロードするだけが解決方法ではないので、いろいろな方法を検討していくことにする。
よろしければ、サポートをお願いします。 より多くの方に役立つnoteを書けるよう頑張ります!!