気象庁が、2020年3月末まで、気象過去データを無償で提供しています。
(参考) 気象過去データの利用環境
https://www.data.jma.go.jp/developer/past_data/index.html
基本的な気象データは、「利用目的・対象を問わず、どなたでもご利用頂けます。」とのことなので、気象データを使って何か行っていきます。
アメダス地点表示
今回の公開データではありませんが、まずは、アメダス地点を地図上に表示してみます。
アメダス地点ファイルダウンロード
アメダス地点のcsvファイルをダウンロードします。
import os
import urllib.request
# アメダス地点ファイルダウンロード
url = 'https://www.jma.go.jp/jma/kishou/know/amedas/ame_master.zip'
folder = 'amedas'
path = 'amedas/ame_master.zip'
# フォルダ作成
os.makedirs(folder, exist_ok=True)
if not os.path.exists(path):
# ダウンロード
urllib.request.urlretrieve(url, path)
データ読み込み
pandasにデータを読み込みます。
zipファイルでも直接読み込めます。エンコードの設定が必要です。
import pandas as pd
# ファイル読み込み
df = pd.read_csv('amedas/ame_master.zip', encoding='cp932')
# データ確認
df
アメダス地点を地図上に表示
ダウンロードしたアメダス地点ファイルには、各地点の緯度、経度が含まれています。
foliumを利用し地図上に観測所地点を表示してみます。
気象官署は、「赤」、アメダス地点は、「青」で表示します。
中心地点は、「東京」にしています。適宜変更してみてください。
地図は、他の地図アプリ同様に移動、拡大縮小が簡単にできます。非常に便利ですね。
import folium
# アメダス地点を地図に表示
# 中心点設定
po = '東京' # 確認したい地点に変更
po_df = df[df['観測所名'] == po].iloc[0]
latitude = po_df['緯度(度)'] + po_df['緯度(分)']/60
longitude = po_df['経度(度)'] + po_df['経度(分)']/60
map = folium.Map(location=[latitude, longitude], zoom_start=10)
# アメダス地点を設定
for index, row in df.iterrows():
tooltip = row['観測所名']
if row['種類'] == '官':
# 気象官署は赤
folium.Marker(location=[row['緯度(度)'] + row['緯度(分)']/60, row['経度(度)'] + row['経度(分)']/60],
tooltip=tooltip, icon=folium.Icon(color='red')).add_to(map)
else:
# アメダス地点は青
folium.Marker(location=[row['緯度(度)'] + row['緯度(分)']/60, row['経度(度)'] + row['経度(分)']/60],
tooltip=tooltip, icon=folium.Icon(color='blue')).add_to(map)
# 地図表示
map
ツールチップに、観測所名を表示していますが、私のJupyterNotebookの環境では化けています。
html形式に保存し表示すると正しく表示されました。
# 地図を保存
map.save(outfile="amedas_map.html")
保存したhtmlを表示してみます。
まずは、アメダス地点を地図上に表示してみました。
データの公開期間が2020年3月末までのため、必要な方は、早めのダウンロードをお勧めします。