気象庁 台風位置表 をpython foliumで可視化する

 

{{DZ_TITLE}}
気象庁が公開している気象庁の台風情報をfoliumで可視化してみました。

今回のデータは

海外でも日本を含んだ 台風の位置情報データをサービスはありますが、データーをダウンロードするまで少し煩わしかったりします。
気象庁の台風位置表は、ダウンロードしたい年のページからCSVファイルを落とすだけなので凄く簡単です。

ただ、CSV形式については事後解析を終えたものまでをまとめて掲載します。 と記載があり、9/25付で2020年版は6月分までしかデータが入っていない問題点もあります。
もう少しCSVがわもタイムリーに更新してほしいですね。

PDFは最近の情報も入っているんですが、PDFでもらっても…という感じが否めません。

国土交通省 気象庁 台風位置表
https://www.data.jma.go.jp/fcd/yoho/typhoon/position_table/index.html

データは位置情報以外にも。等級、中心気圧、風速等もありますね。
/img/2020-09-25-001/2020-09-25-001-001.jpg

プログラム

import folium
import pandas as pd

in_filepath  = r'table2019.csv'
out_filepath = r'map.html'

# データ読込
df = pd.read_csv(in_filepath, encoding='cp932')
highligh_number_lst = [1915]

#初期化
lat = df['緯度'].mean()
lon = df['経度'].mean()
map = folium.Map(location=[lat,lon], zoom_start=4)

for name in df['台風名'].unique():
    
    # 位置情報追加
    df_filter = df[df['台風名']==name]
    locations = []
    for idx, row in df_filter.iterrows():
        locations.append([row['緯度'],row['経度']])
    
    # ハイライトしたい台風を探し出す
    hit = False
    for highligh_number in highligh_number_lst:
        if df_filter['台風番号'].iloc[0] == highligh_number:
            hit = True
    
    # 表示
    if hit :
        line = folium.PolyLine(locations=locations,color="red")
    else:
        line = folium.PolyLine(locations=locations)
    map.add_child(line)

map.save(outfile=out_filepath)

表示結果

2020年はまだデータがたまっていないので去年の2019年のデータを表示してみました。
赤くハイライトした表示は千葉県を中心に被害の大きかった台風15号です。
/img/2020-09-25-001/2020-09-25-001-002.jpg

余談ですが…。
15号は私の実家の屋根瓦もはがし、雨漏りをしてしまいました。
工事の人手が足りず全然復旧しないとの事で、私が屋根に上り瓦を直しました。
近所では大木が倒れて屋根を壊している家まであり、私の家は屋根瓦程度でよかったと思いました。
私の家は直ったものの、あれから一年経過した今でもブルーシートをつけている家がまれにあります。
大きな被害が出るような台風が来ない事を祈ります。

おすすめ記事

Unchecked runtime.lastError: The message port closed before a response was received. / Chrome extension
Unchecked runtime.lastError: The message port closed before a response was received. / Chrome extension
文字列による条件抽出 - Python Pandas
文字列による条件抽出 - Python Pandas
Unityでキャラクターを追いかけるカメラを作る。 一定距離での追従
Unityでキャラクターを追いかけるカメラを作る。 一定距離での追従
エラーを解消したい ModuleNotFoundError: No module named ‘xlwt’ - Python
エラーを解消したい ModuleNotFoundError: No module named ‘xlwt’ - Python
Django テンプレート 使用 #3 List Dictの表示
Django テンプレート 使用 #3 List Dictの表示
国土地理院 標高タイル テキスト版を使って、ディズニーシーのプロメテウス火山を可視化
国土地理院 標高タイル テキスト版を使って、ディズニーシーのプロメテウス火山を可視化
Supponsered

外部サイト
↓プログラムを学んでみたい場合、学習コースなどもおすすめです!

Comments

comments powered by Disqus