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.
Bien que ce ne soit pas des données publiques cette fois, affichons d'abord le point Amedas sur la carte.
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)
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
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é.
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