Flugmappe
Flugmappe ist eine Progressive Web App zur Verwaltung von UAV-Einsätzen (Drohnenflüge) mit Vorflugchecklisten, Wetterbewertung, SORA-Risikoklassifizierung und PDF-Berichterstellung. Entwickelt für den realen Einsatzbetrieb deutschsprachiger Drohnenpiloten — alle Daten bleiben lokal im Browser.
Features
Einsatzverwaltung mit 4 Phasen
Jeder Einsatz durchläuft einen strukturierten Workflow:
- Einsatzdaten — Standort, Einsatzdetails, Auftrag, Truppstärke und interaktive Einsatzkarte
- Vorflugkontrolle — Wetterbewertung, Umgebungsprüfung, Fluganmeldungen und SORA-Risikoklassifizierung
- Flüge — Dokumentation der durchgeführten Flüge
- Nachbereitung — Einsatzabschluss und PDF-Export
Wetterbewertung
- Echtzeit-Wetterdaten von Open-Meteo (Wind, Böen, Temperatur, Niederschlag, Sichtweite, Luftfeuchtigkeit, Druck, Taupunkt)
- Windgeschwindigkeiten auf mehreren Höhen (10m, 80m, 120m, 180m), interpoliert auf die gewählte Flughöhe
- Geomagnetischer K-Index von NOAA SWPC
- DWD-Abgleich über Bright Sky (nur Deutschland): aktuelle Messwerte der nächsten DWD-Station im Vergleich zu Open-Meteo sowie amtliche Wetter-/Unwetterwarnungen. Eine aktive Warnung erscheint als eigene Kachel in der Bewertung; Unwetter (Stufe „severe“/„extreme“) gilt als Warnung und damit als Empfehlung gegen die Freigabe. Quelle: Deutscher Wetterdienst (CC BY 4.0)
- 24-Stunden-Vorhersage und Sonnenauf-/untergangszeiten
- Automatische Bewertung aller Metriken gegen drohnenspezifische Grenzwerte (
gut / Vorsicht / Warnung)
- Kontextbezogene Handlungsempfehlungen auf Deutsch
SORA-Risikoklassifizierung
- GRC (Ground Risk Class) — Fragebogen zur Bestimmung des Bodenrisikos
- ARC (Air Risk Class) — Fragebogen zur Bestimmung des Luftraumrisikos
- SAIL (Specific Assurance and Integrity Level) — automatisch berechnet aus GRC + ARC
Umgebungsprüfung
Automatische Abfrage nahegelegener Infrastruktur über Overpass/OpenStreetMap:
- Lufträume, Straßen, Bahnlinien, Wasserwege
- Stromleitungen, Krankenhäuser, Naturschutzgebiete
Flugverkehr (ADS-B)
Live-Flugverkehr im Umkreis von 10 km aus Community-ADS-B-Daten (adsb.lol, Fallback adsb.fi):
- Liste der Luftfahrzeuge mit Höhe über Grund (Geländehöhe von Open-Meteo), Entfernung, Richtung, Geschwindigkeit, Steig-/Sinkflug; Hubschrauber, militärischer Verkehr und Not-/Rettungsflüge werden markiert
- Bewertung: unter 500 m über Grund in bis zu 3 km Entfernung = Warnung, tieffliegender Verkehr weiter entfernt = Vorsicht
- Aktualisierung jede Minute; der letzte Stand wird je Einsatzabschnitt gespeichert und landet mit Uhrzeit im PDF
- Da die ADS-B-Dienste keine CORS-Header senden, läuft die Abfrage über den ADS-B-Proxy im optionalen Backend (
server/, GET /adsb/point/...). Ist kein Proxy erreichbar (fehlende Konfiguration, „Failed to fetch“ durch CORS/Netzwerk, Route fehlt), zeigt die Sektion „Kein ADS-B-Server verbunden“ statt eines Fehlers, dazu einen Link zur Live-Karte; im Dev-Server leitet Vite direkt an adsb.lol weiter
- Überwachung während der Flüge: In der Flugphase wird der Verkehr weiter abgefragt (alle 30 s während eines Flugs, sonst jede Minute; ohne Server nur alle 5 min). Taucht ein neuer Tiefflieger auf (Bewertung ≥ Vorsicht) oder kommt ein bekannter näher, erscheint ein Banner, auf Wunsch eine Systembenachrichtigung (App im Hintergrund), und es wird automatisch ein Ereignis angelegt — damit steht es auch im Einsatzbericht. Hoch überfliegender Verkehr löst nichts aus; nach 15 min ohne Sichtung gilt ein Luftfahrzeug wieder als neu. Abschaltbar je Einsatz
- Abfrageintervall nach API-Policy: adsb.fi erlaubt 1 Anfrage/s je IP, adsb.lol drosselt dynamisch; der Backend-Proxy cacht je Standort 15 s
- Eine Cloudflare Pages Function als Proxy funktioniert nicht: Aus Cloudflare Workers heraus antwortet adsb.lol mit 429 (geteilte Egress-IPs) und adsb.fi mit 403
- ADS-B erfasst nicht jeden Verkehr (Segelflug, UL, Gleitschirme …) und ersetzt keine Luftraumbeobachtung
Interaktive Einsatzkarte
- MapLibre-Karte mit VersaTiles-Basiskarte und eigenen Zeichenwerkzeugen: Einsatzgebiet (Fläche) und Standort (Punkt); eine Fläche wird mit „Fertig“, Doppelklick oder Enter abgeschlossen
- Automatische Flächenberechnung für das Einsatzgebiet
- Snapshot-Speicherung als Bild für den PDF-Export
- Alternativ: Foto-Upload als Einsatzkarte
PDF-Berichterstellung
Umfassender Einsatzbericht mit allen erfassten Daten:
- Einsatzdetails, Auftrag und Truppstärke
- Wetterbewertung mit allen Metriken
- SORA-Risikoklassifizierung (GRC/ARC/SAIL)
- Einsatzkarte (Snapshot oder Foto)
- Fluganmeldungen und Umgebungsprüfung
Weitere Features
- Offline-fähig — Service Worker mit Workbox (NetworkFirst für APIs, CacheFirst für Kartenkacheln und Glyphen)
- Dark/Light/System-Theme — mit automatischer Umschaltung bei Sonnenauf-/untergang
- Datenschutz — kein Backend, keine Cloud, alle Daten in localStorage
- Auto-Cleanup — aktive Einsätze 56h, abgeschlossene 24h, dann automatische Löschung
- Drohnen-Registry — vorkonfigurierte Drohnenprofile (DJI Matrice 350 RTK, DJI Matrice 200)
This is the beginning of the README. Read the rest at the original. Read the full README ↗