Einleitung Freie Wetterdaten sind eine wertvolle Ressource für Entwickler, Forscher, Landwirte, Outdoor-Enthusiasten und viele mehr. Dank offener APIs und frei zugänglicher Wetterdatensätze lassen sich präzise Analysen durchführen, innovative Anwendungen entwickeln und fundierte Entscheidungen treffen. In diesem Artikel zeigen wir Ihnen, wozu Sie frei verfügbare Wetterdaten nutzen können und wie Sie diese praktisch einsetzen.

Wozu lassen sich Wetterdaten nutzen?

  1. Landwirtschaft und Gartenbau: Durch genaue Messwerte zu Temperatur, Niederschlag und Bodenfeuchte können Landwirte die Bewässerung optimieren, Ernteausfälle reduzieren und Schädlinge besser kontrollieren.
  2. Smart Home & IoT: Wetterdaten können in Smart-Home-Systeme integriert werden, um beispielsweise automatische Rollläden zu steuern oder Heizsysteme zu optimieren.
  3. Reise- und Freizeitplanung: Outdoor-Aktivitäten wie Wandern, Segeln oder Camping lassen sich anhand lokaler Wetterbedingungen sicherer gestalten.
  4. Umwelt- und Klimaforschung: Langfristige Messdaten helfen Wissenschaftlern, Klimatrends zu analysieren und Umweltveränderungen zu untersuchen.
  5. Energiebranche: Solar- und Windkraftanlagen können durch Messwerte zu Sonneneinstrahlung und Windgeschwindigkeit effizienter gesteuert werden.
  6. App-Entwicklung: Entwickler können Wetterdaten in ihre Apps und Websites integrieren, um nützliche Funktionen wie Wetterwarnungen oder personalisierte Analysen bereitzustellen.
  7. Lokale Wetterstationen & Community-Projekte: Bürgerwissenschaftler und Wetterenthusiasten können mit lokalen Wetterstationen präzisere, hyperlokale Daten erfassen und teilen.

Wie kommt man an freie Wetterdaten? Es gibt zahlreiche Plattformen und Anbieter, die frei verfügbare Messwerte bereitstellen. Hier eine umfangreiche Liste mit deutschsprachigen und internationalen Quellen:

Die meisten dieser Anbieter stellen eine API zur Verfügung, mit der Nutzer Messwerte in ihre Anwendungen integrieren können.

Praktische Umsetzung: Ein Beispiel mit DWD Open Data Um Messwerte von Wetterstationen des DWD abzurufen, können Sie die Open-Data-Schnittstelle des DWD nutzen. Ein Beispiel für den Abruf der aktuellen Temperaturmessungen aus Deutschland mit Python:

import requests

URL = "https://opendata.dwd.de/climate_environment/CDC/observations_germany/climate/hourly/air_temperature/recent/stundenwerte_TU_00433_akt.zip"
response = requests.get(URL)

if response.status_code == 200:
    with open("stundenwerte_TU_00433_akt.zip", "wb") as file:
        file.write(response.content)
    print("Daten erfolgreich heruntergeladen.")
else:
    print("Fehler beim Abrufen der Messwerte. Bitte überprüfen Sie die URL oder die Stations-ID.")

Zusätzliche Umsetzung: Wetterdaten für eine Wohnadresse bestimmen Falls Sie Wetterdaten für eine spezifische Adresse benötigen, können Sie OpenStreetMap zur Geokodierung nutzen, um die Koordinaten zu bestimmen, und anschließend mit Open-Meteo oder anderen Diensten die nächstgelegene Wetterstation abfragen.

Beispiel 1: Aktuelle Wetterdaten für eine Adresse

import requests

def get_current_weather(address):
    geo_url = "https://nominatim.openstreetmap.org/search"
    params = {"q": address, "format": "json", "limit": 1}
    headers = {"User-Agent": "Wetterdaten-Skript/1.0 (kontakt@example.com)"}
    geo_response = requests.get(geo_url, params=params, headers=headers).json()

    if geo_response:
        lat, lon = geo_response[0]["lat"], geo_response[0]["lon"]
        weather_url = f"https://api.open-meteo.com/v1/forecast?latitude={lat}&longitude={lon}&current_weather=true"
        weather_response = requests.get(weather_url).json()
        print(f"Aktuelles Wetter für {address}: {weather_response['current_weather']}")
    else:
        print("Fehler beim Abrufen der Geodaten.")

get_current_weather("Kurfürstendamm 1, 10115 Berlin, Deutschland")

Beispiel 2: Historische Wetterdaten für eine Adresse und einen Zeitraum

def get_historical_weather(address, start_date, end_date):
    geo_url = "https://nominatim.openstreetmap.org/search"
    params = {"q": address, "format": "json", "limit": 1}
    headers = {"User-Agent": "Wetterdaten-Skript/1.0 (kontakt@example.com)"}
    geo_response = requests.get(geo_url, params=params, headers=headers).json()

    if geo_response:
        lat, lon = geo_response[0]["lat"], geo_response[0]["lon"]
        weather_url = f"https://archive-api.open-meteo.com/v1/archive?latitude={lat}&longitude={lon}&start_date={start_date}&end_date={end_date}&daily=temperature_2m_max,temperature_2m_min"
        weather_response = requests.get(weather_url).json()
        print(f"Historische Wetterdaten für {address} vom {start_date} bis {end_date}: {weather_response}")
    else:
        print("Fehler beim Abrufen der Geodaten.")

get_historical_weather("Marienplatz, 80331 München, Deutschland", "2024-03-01", "2024-03-10")

Beispiel 3: aktuelle Temperatur mit Höhenangabe

import requests

# Schritt 1: Koordinaten für die Adresse abrufen
address = "Marienplatz, München, Deutschland"
geo_url = "https://nominatim.openstreetmap.org/search"
params = {
    "q": address,
    "format": "json",
    "limit": 1
}
headers = {
    "User-Agent": "Wetterdaten-Skript/1.0 (kontakt@example.com)"
}
geo_response = requests.get(geo_url, params=params, headers=headers).json()

if geo_response:
    lat = geo_response[0]["lat"]
    lon = geo_response[0]["lon"]
    print(f"Koordinaten für {address}: {lat}, {lon}")

    # Schritt 2: Wetterdaten für die Koordinaten abrufen
    weather_url = f"https://api.open-meteo.com/v1/forecast?latitude={lat}&longitude={lon}&current_weather=true"
    weather_response = requests.get(weather_url).json()

    if "elevation" in weather_response:
        ele = weather_response["elevation"]
        print(f"Höhe für {address}: {ele} m")
    
    if "current_weather" in weather_response:
        print(f"Aktuelle Temperatur: {weather_response['current_weather']['temperature']}°C")
    else:
        print("Keine Wetterdaten verfügbar.")
else:
    print("Fehler beim Abrufen der Geodaten.")
    

Fazit Frei verfügbare Wetterdaten eröffnen eine Vielzahl an Möglichkeiten, sei es für die persönliche Nutzung, wissenschaftliche Forschung oder kommerzielle Anwendungen. Neben großen Wetterdiensten bieten auch Community-Projekte hyperlokale Wetterdaten an, die besonders für detaillierte Analysen nützlich sind. Durch einfache API-Abfragen lassen sich Messwerte von Wetterstationen in bestehende Systeme integrieren und vielseitig nutzen. Probieren Sie es aus und entdecken Sie die Potenziale freier Wetterdaten für Ihre eigenen Projekte!