Wasserstand-Satellitenplattform: Satellitenbilder zu Pegeln abgleichen
Der Dienst „Level-Satellite“ löst die Herausforderung, Satellitenbilder basierend auf Wasserständen an spezifischen Pegeln auszuwählen. Hydrologen stoßen oft auf ein Problem: Ein Bild ist verfügbar, aber der Wasserstand zu diesem Zeitpunkt passt nicht zu ihrer Analyse. Die Plattform filtert Landsat- und Sentinel-2-Sammlungen nicht nur nach Datum und Bewölkung, sondern auch nach hydrologischen Daten aus dem russischen Bundesinformationssystem für das staatliche Gewässerkataster (AIS GMVO) und liefert passende Szenen für die Analyse von Flussläufen, Überschwemmungsflächen und Überflutungsgebieten.
Prototyp in Google Earth Engine: Frühe Einschränkungen
Der erste Prototyp wurde in Google Earth Engine für ein Flussgebietsbezirk mit AIS-GMVO-Daten erstellt. Das Filtern von Bildern nach Pegelgeometrie brachte Probleme ans Licht: träge Oberfläche, langsames Verarbeiten der Sammlungen und Quotenüberschreitung. Der Wechsel zu Vorverarbeitung über die GEE-API erzeugte eine Nachschlage-Tabelle (Pegel, Bild-ID, Bewölkung), was die Belastung der Frontend entlastete.
Allerdings hatte dieser Ansatz Nachteile:
- Die Verarbeitung eines Bezirks dauerte 8–10 Stunden; für über 20 Bezirke war das unpraktikabel.
- Skalierung erforderte Neuberechnung bei neuen Daten.
- Fehler in einem Schritt bedeuteten Neustart von vorne.
Datensammlung unter Extrembedingungen
Der Zugriff auf AIS-GMVO-Hydrologiedaten stand vor dem Aus. Der Parser für Massendownloads wurde im Feld verfeinert – auf einem Boot mit KI. Ein erfolgreicher Download um 17:55 Uhr kurz vor Ablauf sicherte eine Datenbank mit Millionen Beobachtungen. Die Daten werden nun lokal gespeichert, um Abhängigkeit von externen Quellen zu vermeiden.
Wechsel zu STAC und Microsoft Planetary Computer
Der entscheidende Fortschritt war die Übernahme des STAC-Standards für die Katalogisierung von Satellitenszenen und Microsoft Planetary Computer (MPC) für den API-Zugriff. STAC standardisiert Metadaten über Sammlungen hinweg und ermöglicht Suchen nach Geometrie und Zeit unabhängig vom Anbieter.
Die Architektur vereinfachte sich zu:
- Datenbank mit Pegeln und Beobachtungen.
- Filter nach Wasserstand, Zeitraum, Bewölkung.
- Suche nach Szenen in MPC über Metadaten.
- Laden von Bildern auf Abruf.
Das eliminierte schwere Sammlungsfilterungen und sorgte für höchste Geschwindigkeit.
Datenbankarchitektur
Der Wechsel von CSV/Excel zu PostgreSQL mit PostGIS bewältigte 28 Millionen Beobachtungen. Die Kernentität verknüpft „Hydrobeobachtung → Datum → Satellitenszene“. Abfragen laufen nun in Millisekunden: hydrologischer Filter zuerst, dann Szenensuche, dann Laden.
Die DB umfasst Tabellen für:
- Pegel (Koordinaten, Geometrie).
- Beobachtungen (Stand, Abfluss, Datum).
- Szenenmetadaten (ID, Bewölkung, Datensatz).
Indizes auf Daten und Geometrie beschleunigen JOINs.
Aktuelle Umsetzung und Tech-Stack
Nutzer wählen einen Pegel, Wasserstandsbereich, Zeitraum und Filter – der Dienst liefert Szenen auf einer Karte mit Exportoptionen. Leaflet.js treibt die Karte an, Chart.js die Hydrogramme.
Tech-Stack:
| Ebene | Technologien |
|-------|--------------|
| Backend | Python, Flask, Gunicorn |
| Datenbank | PostgreSQL, PostGIS (28 Mio. Datensätze) |
| Satellitendaten | Microsoft Planetary Computer |
| Frontend | Leaflet.js, Chart.js |
| Infra | Docker, nginx, HTTPS |
Dienst online unter level-satellite.ru, Repo: github.com/ruorv/level-satellite-public.
Wichtige Erkenntnisse
- Bildauswahl knüpft direkt an reale Wasserstände an und vermeidet unvergleichbare Daten.
- STAC/MPC bietet flexiblen Zugriff ohne GEE-Quoten.
- PostGIS beschleunigt räumliche Abfragen bei Massendaten.
- Skalierbare Architektur: Pegel/Daten hinzufügen ohne vollständigen Neubau.
- Open-Source-Code für Community-Beiträge.
— Editorial Team
Noch keine Kommentare.