Platforma pro výběr satelitních snímků podle hladin vody na hydroměrných stanicích
Služba „Hladina-Satelit“ řeší problém výběru satelitních snímků podle hladiny vody na konkrétní hydroměrné stanici. Hydrologové se často setkávají s nesouladem: snímek je dostupný, ale hladina vody v daném okamžiku neodpovídá analyzovanému stavu. Platforma filtruje sbírky Landsat a Sentinel-2 nejen podle data a zataženosti, ale i podle hydrologických dat z AIS GMVO, čímž zajišťuje relevantní scény pro analýzu říčních koryt, niv a záplav.
Prototyp v Google Earth Engine: první omezení
Počáteční prototyp byl realizován v Google Earth Engine pro jeden povodí s daty z AIS GMVO. Filtrování snímků podle geometrie stanice odhalilo problémy: zpoždění rozhraní, pomalé zpracování sbírek a vyčerpání kvót. Přechod na předzpracování přes GEE API vytvořil tabulku shod (stanice, ID snímku, zataženost), což snížilo zátěž rozhraní.
Přístup však měl nedostatky:
- Zpracování povodí trvalo 8–10 hodin, pro 20+ povodí neudržitelné.
- Škálování vyžadovalo přepočítání při přidání dat.
- Chyby v jakémkoli kroku vedly k úplné přepracování.
Sběr dat v extrémních podmínkách
Přístup k hydrologickým datům z AIS GMVO byl ohrožen uzavřením. Parser pro hromadné stahování byl doladěn v polních podmínkách na lodi s pomocí AI. Úspěšné stažení v 17:55 před deadlinem zajistilo databázi s miliony pozorování. Data jsou nyní uložena lokálně, bez závislosti na externích zdrojích.
Přechod na STAC a Microsoft Planetary Computer
Klíčové vylepšení – využití standardu STAC pro katalogizaci satelitních scén a Microsoft Planetary Computer (MPC) pro přístup přes API. STAC sjednocuje metadata sbírek, což umožňuje hledat scény podle geometrie a času bez ohledu na poskytovatele.
Architektura se zjednodušila:
- Databáze hydroměrných stanic a pozorování.
- Filtr podle hladiny vody, období, zataženosti.
- Hledání scén v MPC podle metadat.
- Načítání obrázků na požádání.
Tím se odstranilo náročné filtrování sbírek a zajistila rychlost.
Architektura databáze
Přechod z CSV/Excel na PostgreSQL s PostGIS zpracoval 28 milionů pozorování. Centrální entita – vazba „hydropozorování → datum → satelitní scéna“. Dotazy teď běží za milisekundy: nejdřív hydrologický filtr, pak hledání scén, poté načítání.
DB je navržena s tabulkami:
- Hydroměrné stanice (souřadnice, geometrie).
- Pozorování (hladina, průtok, datum).
- Metadata scén (ID, zataženost, datová sada).
Indexy na data a geometrii urychlují JOINy.
Aktuální realizace a tech stack
Uživatel vybere stanici, rozsah hladin, období, filtry – služba vrátí scény na mapě s možností exportu. Leaflet.js zobrazuje mapu, Chart.js hydrograsy.
Technický stack:
| Vrstva | Technologie |
|--------|-------------|
| Backend | Python, Flask, Gunicorn |
| DB | PostgreSQL, PostGIS (28 milionů záznamů) |
| Satelitní data | Microsoft Planetary Computer |
| Frontend | Leaflet.js, Chart.js |
| Infra | Docker, nginx, HTTPS |
Služba na level-satellite.ru, repozitář: github.com/ruorv/level-satellite-public.
Co je důležité
- Výběr snímků je vázán na reálnou hladinu vody, vylučuje nesrovnatelná data.
- STAC/MPC zajišťují flexibilní přístup bez limitů GEE.
- PostGIS zrychluje prostorové dotazy na velkých objemech.
- Architektura je škálovatelná: přidávání stanic/dat bez kompletní přestavby.
- Otevřený kód pro úpravy komunitou.
— Editorial Team
Zatím žádné komentáře.