Vytisknout
Kategorie: Software
Zobrazení: 10

 

Astronomický meteogram — od nápadu k hotovému nástroji

Meteogram vznikl jako pomůcka pro astronomy amatéry, kteří potřebují rychle zjistit, zda bude nadcházející noc vhodná pro pozorování. Na rozdíl od běžných předpovědí počasí zobrazuje nejen teplotu a srážky, ale také oblačnost po jednotlivých výškových vrstvách, polohu Měsíce a přesné hodinové okno astronomické tmy. Tento článek popisuje, jak nástroj vznikal a jak jej efektivně využívat.

První prototyp — Python skript s daty z Open-Meteo

První verze meteogramu vznikla jako Python skript, který stahuje hodinová meteorologická data z bezplatného API Open-Meteo (model ICON od německé DWD) a generuje statický HTML soubor s grafem teploty, srážek a oblačnosti pro zvolené místo. Skript nevyžadoval žádné externí knihovny — vystačil si se standardní knihovnou Pythonu. Výstupem byl soubor s daty přímo vloženými do HTML, který bylo možné otevřít v prohlížeči bez internetového připojení.

Tento přístup vyřešil problém CORS omezení prohlížeče, kdy volání API z lokálního souboru (file://) není povoleno. Skript rovněž automaticky detekoval nadmořskou výšku zadaného místa a zvládal SSL certifikáty i na macOS.

Přechod na čisté HTML — nástroj pro web

Po zkušebním nasazení na webový hosting (GitHub Pages nebo Netlify) bylo možné přejít na čistě webové řešení: jediný HTML soubor, který data stahuje přímo v prohlížeči. Python skript odpadl, veškerá logika přešla do JavaScriptu. Uživatel jednoduše nahraje soubor na libovolný HTTPS hosting a meteogram je okamžitě přístupný z počítače i mobilu.

Součástí tohoto kroku bylo i přidání vyhledávacího panelu: uživatel může zadat souřadnice ručně, vyhledat město nebo použít GPS polohu zařízení. Reverzní geocoding přes OpenStreetMap Nominatim automaticky doplní název místa. Posledně použité místo se ukládá do cookie prohlížeče na jeden rok, takže při příštím otevření se meteogram ihned načte pro oblíbené pozorovací stanoviště.

Astronomické rozšíření — noc, Měsíc a jasné hodiny

Klíčovým rozšířením pro astronomické využití bylo přidání výpočtů přímo z nebeské mechaniky, bez jakýchkoli externích knihoven. Vše je implementováno jako čistá trigonometrie v JavaScriptu:

 

Vizuální design a grafy

Meteogram používá tmavé téma inspirované astronomickými prostředími. Všechny grafy jsou vykresleny pomocí knihovny Chart.js s vlastními pluginy. Oblačnost je zobrazena dvěma způsoby: jako čárový graf s oddělenými křivkami pro vysokou, střední, nízkou a celkovou oblačnost, a jako vizuální pásy — barevný canvas kde intenzita barvy odpovídá pokrytí oblohy v dané výškové vrstvě a hodině.

Zvláštní pozornost byla věnována zarovnání časových os: všechny grafy i vizuální pásy zobrazují popisky ve stejných hodinách (každé dvě hodiny) a kreslící plocha canvasu je přesně zarovnána s plotArea grafů díky dynamickému zjištění šířky osy Y z Chart.js instance.

Jak meteogram používat

Ovládání meteogramu je jednoduché a intuitivní. Po otevření stránky se automaticky načte předpověď pro naposledy použité místo (nebo výchozí nastavení při prvním spuštění).

Technické poznámky a dostupnost

Meteogram je dostupný ve dvou jazykových verzích — české a anglické. Zdrojový kód tvoří jediný HTML soubor bez závislostí na frameworku. Meteorologická data poskytuje Open-Meteo (model ICON, rozlišení ~1 km pro střední Evropu, aktualizace 4× denně), astronomické výpočty jsou implementovány přímo v JavaScriptu bez externích knihoven s přesností přibližně ±1–2°, dostatečnou pro pozorovací plánování. Soubor lze zdarma hostovat například na GitHub Pages nebo Netlify — nasazení trvá méně než dvě minuty.

Meteogram vznikl jako ukázka toho, že i komplexní astronomicko-meteorologický nástroj lze postavit na moderních webových technologiích bez jediné placené závislosti. Stačí otevřený přístup k datům, trocha astronomické matematiky a dobrý nápad.