🌤️ Wetter-App

Historische Wetterdaten-Analyse basierend auf DWD-Daten

📋 Beschreibung

Webanwendung zur Analyse historischer Wetterdaten vom Deutschen Wetterdienst (DWD). Ermöglicht die Abfrage von Wetterinformationen für beliebige Orte und Zeiträume, mit Fokus auf Geburtstags-Wetter-Rückblicke und Klimawandel-Analysen.

⚙️ Technologien

PHP 8.x MySQL Python Chart.js Bootstrap DWD API REST API

📁 Projektstruktur

  • main.py - Hauptskript für DWD-Datenimport
  • geburtstag_wetter.php - Geburtstags-Wetter-Abfrage
  • temperatur_verlauf.php - Temperaturverlauf-Analyse
  • klimawandel_analyse.php - Langzeit-Klimaanalyse
  • api_wetter.php - REST API Endpoint
  • download_stations.py - Stationsdaten-Download
  • download_files.py - Wetterdaten-Download
  • extract_files.py - ZIP-Extraktion

✨ Features

  • 📊 Historische Wetterdaten für über 1.500 DWD-Stationen
  • 🎂 Geburtstags-Wetter-Rückblick (welches Wetter an deinem Geburtstag?)
  • 📈 Interaktive Temperaturverlaufs-Diagramme (Chart.js)
  • 🌡️ Klimawandel-Analyse mit Trendberechnung
  • 📱 Mobile-first responsives Design
  • 🔌 REST API für externe Integration
  • 🎨 Farbcodierte Temperaturanzeige

🔧 Hauptfunktionen

🎂 Geburtstags-Wetter

Zeigt historisches Wetter für beliebige Geburtsdaten an allen DWD-Stationen. Inklusive Statistiken über Durchschnittstemperaturen, Höchst- und Tiefstwerte über alle verfügbaren Jahre.

📈 Temperaturverlauf

Interaktive Chart.js-Diagramme zeigen die Temperatur-Entwicklung über Jahre/Jahrzehnte. Trendanalyse mit linearem Regressions-Fit.

🌍 Stations-Suche

Durchsucht über 1.500 Wetterstationen nach Ortsnamen oder Bundesland. Zeigt Stationshöhe, Koordinaten und Datenverfügbarkeit.

🔌 REST API

JSON-API für Wetterabfragen: api_wetter.php?action=wetter&tag=15&monat=3&station=7364

🛠️ Installation

  1. MySQL-Datenbank einrichten (weather_data_import.sql importieren)
  2. Python-Abhängigkeiten installieren: pip install -r requirements.txt
  3. DWD-Stationen herunterladen: python download_stations.py
  4. Wetterdaten abrufen: python download_files.py
  5. Daten extrahieren: python extract_files.py
  6. Datenbank importieren: python main.py
  7. PHP-Dateien auf Webserver kopieren