0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アメダスJSONの気温データを日付と時刻で切り替えて地図表示してみる

0
Posted at

はじめに

前回は、気象庁のアメダスJSONを取得して、全国の観測値をLeafletの地図に表示してみました。

今回はその続編として、公開データとしてのアメダスJSONを、気温という切り口でもう少し実用的に活用してみます。

アメダスは全国900地点以上の観測データを無料で公開していますが、実際に使ってみないと「何ができるのか」はなかなかイメージしづらいものです。ちょうど今年は暑さが尋常ではなく、単に「今日いちばん暑い場所はどこか」だけでなく、朝から暑いのか、昼にどこまで広がるのか、夜になっても下がらないのか、といった時間帯ごとの違いを追いかけられると、公開データの使い道としても分かりやすい題材になりそうです。

そこで、直近9日間のアメダス気温データを使い、朝・昼・夜の気温分布を切り替えて見られる地図を作ってみました。

b84f1e42-5388-4597-8a67-24a83aff2e55-1.png

この記事では、公開データをこう使うとこんなことが分かる、という活用例として、何を作ったのか、どんなデータをどう見たのか、地図にすると何が見やすくなるのか、といった部分を中心に書いていきます。

作ったもの

直近9日間の気温分布を、日付と時刻で切り替えられる地図を作りました。

日付は直近9日分、時刻は 06:0012:0020:00 の3つです。

b84f1e42-5388-4597-8a67-24a83aff2e55-2.png

b84f1e42-5388-4597-8a67-24a83aff2e55-3.png

b84f1e42-5388-4597-8a67-24a83aff2e55-4.png

地図上には各アメダス観測所を気温に応じた色で表示し、あわせてその時刻の30℃以上・35℃以上・40℃以上の地点数と、高温地点のランキングも見られるようにしています。

一番見たかったのは、単純な最高気温ランキングではなく、時間帯によって暑さの見え方がどう変わるかという部分でした。

朝の時点でどこが暑いのか、昼にはどこまで暑さが広がるのか、夜になっても気温が残る地域はどこなのか。地図を切り替えながら見ていくと、同じ「暑い日」でも少し違った表情が見えてきます。

データと見方

利用したデータ

今回も、気象庁のアメダスページで使われているJSONをそのまま利用しています。

主に使ったのは次の3つです。

https://www.jma.go.jp/bosai/amedas/data/latest_time.txt
https://www.jma.go.jp/bosai/amedas/data/map/{YYYYMMDDHHMMSS}.json
https://www.jma.go.jp/bosai/amedas/const/amedastable.json

latest_time.txt で取得可能な最新観測時刻を確認したうえで、各時刻の観測値を map/{YYYYMMDDHHMMSS}.json から取得します。

観測値JSONだけでは観測所番号しか分からないので、amedastable.json と組み合わせて、観測所名や緯度・経度も使えるようにしました。

手元で確認した範囲では、過去の map/{YYYYMMDDHHMMSS}.json はおおむね9日と少し前まで遡って取得できるようでした。そのため、対象期間は「最新観測日を含む直近9日間」としています。

実際に取得した直近9日間のデータでは、各時刻でおおむね915〜916地点の気温が取れました。ただし最新日については、まだ到達していない時刻のデータは存在しません。たとえば午前中に見た場合、その日の 12:0020:00 はまだ存在しないため地図には表示されず、最新日の表示は latest_time.txt で分かる最新観測時刻に左右されることになります。

朝・昼・夜で見る

代表時刻としては 06:0012:0020:00 を選びました。06:00 は朝の時点の暑さ、12:00 は昼に向かって広がった暑さ、20:00 は夜になっても残っている暑さを見るためです。

もちろん、この3時刻だけで1日の暑さをすべて説明できるわけではありませんが、それでも最高気温だけを見るより、暑さの「時間帯による違い」はぐっと見やすくなります。

たとえば昼は広い範囲で30℃を超えていても、夜には地域差が出てくるかもしれません。逆に朝からすでに気温が高い場所があれば、その日は早い時間から暑さが始まっていることが分かります。

表示用データを作る

アメダスの観測値JSONには、観測所番号ごとに気温などの値が入っていますが、それだけでは地図に点を置けません。

そこで観測所一覧のJSONと組み合わせ、観測所名・緯度・経度・気温をひとまとめにしました。前回の記事でも触れましたが、アメダスJSONを地図で見るときは、この「観測値」と「観測所情報」の組み合わせがポイントになります。

地図側で日付と時刻を切り替えやすいように、次のようなJSONを用意しました。

{
  "times": ["06:00", "12:00", "20:00"],
  "stations": {
    "44132": {
      "name": "東京",
      "lat": 35.69166666666667,
      "lon": 139.75
    }
  },
  "observations": {
    "2026-07-18": {
      "06:00": {
        "44132": 25.4
      }
    }
  }
}

この形にしておくと、日付と時刻を選ぶだけでその時点の気温分布を取り出せます。観測所の位置情報も一緒に持たせているので、取得した気温をそのまま地図上の点として表示できるわけです。

気温だけに絞り、色分けは次のようにしました。

気温 表示
40℃以上 濃い赤
35℃以上
30℃以上 オレンジ
25℃以上
20℃以上 水色
20℃未満

色の基準を固定しておくことで、日付や時刻を切り替えたときに暑さの広がりを比較しやすくなります。

地図にして分かりやすかったこと

気温データは表でも確認できますが、全国の分布を見るならやはり地図の方が直感的です。

特に今回のように日付と時間帯を切り替えられると、次のような見方ができます。

  • 朝から気温が高い地域を見る
  • 昼に30℃以上の地点がどこまで広がるかを見る
  • 夜20時になっても気温が下がりにくい地域を見る
  • 高温地点ランキングと地図上の分布を見比べる

ランキングだけだとどうしても上位地点にばかり目が行きがちですが、地図にすると「どの地域にまとまって暑さが出ているか」が一目で分かります。このあたりは、前回の単一時刻の地図よりも、日付と時刻を切り替えられるようにしたことで面白くなった部分だと思います。

気をつけたこと

公式API仕様として公開されているものではない

今回使っているJSONは、気象庁のWebページで利用されている公開データではありますが、気象庁がAPI仕様書として整理して公開しているものではありません。利用する際は、気象庁ホームページの利用条件や出典の書き方も確認しておくと安心です。

存在する時刻のデータを取得する

map/{YYYYMMDDHHMMSS}.json は、指定した時刻のデータが存在しないと取得できません。最新データを扱う場合は、先に latest_time.txt を取得してその時刻を使うのが安全です。今回のように複数時刻を見る場合も、最新観測時刻より後のデータはまだ存在しない点には注意が必要です。

過去データの取得期間には限りがありそう

手元で確認した範囲では、過去の map/{YYYYMMDDHHMMSS}.json はおおむね9日と少し前まで取得できるようでした。長い期間で見たい場合は、必要な時点のデータを定期的に取得して保存しておく必要がありそうです。

観測所によって気温がない場合がある

すべての観測所が気温を持っているわけではなく、観測所によっては temp がないこともあります。そのため今回の地図では、気温がある地点だけを表示するようにしています。

おわりに

今回は、気象庁のアメダスJSONから直近9日間の気温データを取得し、朝・昼・夜で切り替えて見られる地図を作りました。

気温だけに絞っても、日付と時刻を変えるだけで地図の見え方はかなり変わります。「暑い場所」をひとつに決めるのではなく、朝から暑い地域、昼に広がる暑さ、夜になっても残る暑さを見比べられるのが、今回作っていて一番面白かったところです。

今後は、地点ごとの時系列グラフや、日ごとの変化を並べて見る表示にも広げていきたいと思っています。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?