LoginSignup
1
6

More than 3 years have passed since last update.

気象過去データの利用1(アメダス地点表示)

Posted at

気象庁が、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を表示してみます。

map.png

まずは、アメダス地点を地図上に表示してみました。

データの公開期間が2020年3月末までのため、必要な方は、早めのダウンロードをお勧めします。

1
6
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
1
6