← všechny projektyběží

Orbital Ops

Operační konzole pro vesmír, vzduch i moře — 12 408 satelitů, letadel a lodí, jejichž polohy se počítají živě přímo v prohlížeči.

CesiumJSReactTypeScriptViteZustandHonoSGP4WebGL
orbit.irminsul.uk
Celá oběžná dráha — přes 12 000 sledovaných objektů, Starlink a geostacionární pás, zaměřená ISS

Živé demo

Živé demo

Architektura

Data TLE / ADS-B / AIS→Cache API · Hono + node:sqlite→Web Worker · SGP4→Body vykreslené na GPU→CesiumJS · zeměkoule WGS84

Problém

Vesmírné a obranné týmy dnes mají operační přehled v prohlížeči. Spočítat ale živě a při 60 fps polohy desítek tisíc objektů na oběžné dráze, a to bez placené mapové služby, je místo, kde většina ukázek selže.

Jak to začalorešerše

Začal jsem matematikou modelu SGP4 a jednou otázkou: kolik objektů prohlížeč při 60 fps unese? Porovnal jsem CesiumJS, deck.gl a čisté WebGL, prošel zdroje dat o drahách (TLE), o letadlech (ADS-B z OpenSky) a o lodích (AIS). Výsledek: výpočet drah musí z hlavního vlákna pryč.

Rozhodnutí

SGP4 běží ve Web Workeru a výsledky jdou rovnou na GPU, takže se zeměkoule nikdy nezasekne. Malé API v Honu s node:sqlite si data o drahách ukládá, takže není potřeba žádný klíč, a s přibalenými daty aplikace běží i offline. CesiumJS jsem zvolil před deck.gl kvůli skutečné zeměkouli WGS84.

Vývoj

React 19, striktní TypeScript 5.9, Vite 7 a Zustand 5. Zrychlování a přetáčení času, předpověď přeletů a polární mapa oblohy. 117 testů. Běží v Dockeru a nasazuje se přes GitHub Actions na server u Hetzneru.

Ukázky

Celá oběžná dráha — přes 12 000 sledovaných objektů, Starlink a geostacionární pás, zaměřená ISSISS (ZARYA) živě — telemetrie, stopa po zemi a přelety na 24 hodin na polární mapě oblohyRežim AIRSPACE — kolem 13 000 letadel nad Středomořím z dat ADS-B

V číslech

12,408
objektů živě
60 fps
SGP4 ve workeru
117
testů
0
klíčů · offline

Historie

  1. červen 2026spuštěnoVerze 1 venku: v prohlížeči se počítá dráha 12 408 satelitů.