[PYTHON] Utilisation des données météorologiques passées 1 (affichage des points Amedas)

L'Agence météorologique fournira gratuitement des données météorologiques historiques jusqu'à fin mars 2020. (Référence) Environnement d'utilisation des données météorologiques passées https://www.data.jma.go.jp/developer/past_data/index.html

Les données météorologiques de base sont "Tout le monde peut l'utiliser quel que soit le but et la cible d'utilisation", nous allons donc faire quelque chose en utilisant les données météorologiques.

Affichage des points Amedas

Bien que ce ne soit pas des données publiques cette fois, affichons d'abord le point Amedas sur la carte.

Téléchargement de fichier de point Amedas

Téléchargez le fichier csv du site Amedas.

import os
import urllib.request

#Téléchargement de fichier de point Amedas
url    = 'https://www.jma.go.jp/jma/kishou/know/amedas/ame_master.zip'
folder = 'amedas'
path   = 'amedas/ame_master.zip'
#Créer le dossier
os.makedirs(folder, exist_ok=True)
if not os.path.exists(path):
    #Télécharger
    urllib.request.urlretrieve(url, path)

Lecture des données

Chargez les données dans les pandas. Vous pouvez également lire directement dans un fichier zip. Les paramètres de codage sont requis.

import pandas as pd

#Lecture de fichier
df = pd.read_csv('amedas/ame_master.zip', encoding='cp932')
#Confirmation des données
df

Afficher le point Amedas sur la carte

Le fichier de points Amedas téléchargé contient la latitude et la longitude de chaque point. Affiche les points d'observation sur la carte en utilisant le folium. Le bureau météorologique est affiché en "rouge", et le point Amedas est affiché en "bleu". Le point central est "Tokyo". Veuillez modifier le cas échéant. Les cartes peuvent être facilement déplacées et mises à l'échelle comme d'autres applications cartographiques. C'est très pratique.

import folium

#Afficher le point Amedas sur la carte
#Réglage du point central
po = 'Tokyo'  #Passez au point que vous souhaitez vérifier
po_df = df[df['Nom de l'observatoire'] == po].iloc[0]
latitude  = po_df['latitude(À chaque fois)'] + po_df['latitude(Minutes)']/60
longitude = po_df['longitude(À chaque fois)'] + po_df['longitude(Minutes)']/60
map = folium.Map(location=[latitude, longitude], zoom_start=10)

#Définir le point Amedas
for index, row in df.iterrows():
    tooltip = row['Nom de l'observatoire']
    if row['type'] == 'Gouvernement':
        #Le bureau météorologique est rouge
        folium.Marker(location=[row['latitude(À chaque fois)'] + row['latitude(Minutes)']/60, row['経À chaque fois(À chaque fois)'] + row['経À chaque fois(Minutes)']/60], 
                      tooltip=tooltip, icon=folium.Icon(color='red')).add_to(map)
    else:
        #Le spot Amedas est bleu
        folium.Marker(location=[row['latitude(À chaque fois)'] + row['latitude(Minutes)']/60, row['経À chaque fois(À chaque fois)'] + row['経À chaque fois(Minutes)']/60], 
                      tooltip=tooltip, icon=folium.Icon(color='blue')).add_to(map)
#Affichage de la carte
map

Le nom de l'observatoire est affiché sur la puce de l'outil, mais il est déformé dans mon environnement Jupyter Notebook. Lorsque je l'ai sauvegardé au format html et que je l'ai affiché, il s'affichait correctement.

#Enregistrer la carte
map.save(outfile="amedas_map.html")

Affichons le html enregistré.

map.png

Tout d'abord, j'ai essayé d'afficher le point Amedas sur la carte.

Les données seront publiées jusqu'à la fin du mois de mars 2020, donc si vous en avez besoin, nous vous recommandons de les télécharger dès que possible.

Recommended Posts

Utilisation des données météorologiques passées 1 (affichage des points Amedas)
Utiliser des décorateurs pour empêcher la ré-exécution du traitement des données
Nettoyage des données 3 Utilisation d'OpenCV et prétraitement des données d'image
Téléchargez les données éoliennes de l'Agence météorologique
À propos du prétraitement des données des systèmes utilisant l'apprentissage automatique
Utilisons les données ouvertes de "Mamebus" en Python