OpenWeatherMap API

Configuration

  1. Créer un compte sur https://openweathermap.org

  2. Récupérer la clé API (plan gratuit : 1000 appels/jour)

Utilisation

Par coordonnées GPS

from OpenWeatherMap import OpenWeatherMap_call_location

# Paris (Tour Eiffel)
latitude = "48.858370"
longitude = "2.294481"

# Appel API
df = OpenWeatherMap_call_location.API_call_location(latitude, longitude)

# Affichage
print(df)

DataFrames retournés

  • Timestamp : Date/heure

  • T(degC) : Température

  • RH(%) : Humidité relative

Par nom de ville

from OpenWeatherMap import OpenWeatherMap_call_city

# Récupération pour une ville
df = OpenWeatherMap_call_city.API_call_city("Paris", "FR")

print(f"Température : {df['T(degC)'].values[0]}°C")
print(f"Humidité : {df['RH(%)'].values[0]}%")

Exemple : Acquisition périodique

import time
import pandas as pd
from datetime import datetime

# Liste pour stocker les données
data_history = []

# Boucle d'acquisition toutes les heures
while True:
    try:
        df = OpenWeatherMap_call_location.API_call_location("48.858370", "2.294481")
        data_history.append(df)

        print(f"[{datetime.now()}] Données récupérées : T={df['T(degC)'].values[0]}°C")

        # Sauvegarder périodiquement
        if len(data_history) % 24 == 0:  # Toutes les 24 heures
            df_combined = pd.concat(data_history, ignore_index=True)
            df_combined.to_excel('historique_meteo.xlsx', index=False)

        # Attendre 1 heure (3600 secondes)
        time.sleep(3600)

    except Exception as e:
        print(f"Erreur: {e}")
        time.sleep(300)

Limites

  • 1000 appels/jour (plan gratuit)

  • Ne pas interroger plus d’une fois toutes les 10-15 minutes

  • Utiliser MeteoCiel pour données historiques