Spletna aplikacija (v celoti prilagojena mobilnim napravam) za vremensko napoved za jadralno padalstvo v Sloveniji. Na podlagi GPS lokacije uporabnika najde najbližje znano vzletišče in prikaže vremenske podatke ter iz njih izpeljane ocene, pomembne za pilote:
| Vir | Kaj ponuja | Kako je uporabljen |
|---|---|---|
ARSO – vreme.arso.gov.si/api/1.0/location/ |
Večdnevna napoved (temperatura, veter, oblačnost, padavine) po imenu kraja | Strežnik (src/arso.js) pridobi napoved za ARSO lokacijo, najbližjo izbranemu vzletišču |
opendata.si – opendata.si/vreme/report/ |
ARSO radar padavin, ALADIN napoved oblačnosti/padavin, verjetnost toče – neposredno po GPS koordinati | Strežnik (src/opendata.js) pridobi podatke za koordinato vzletišča/uporabnika |
ARSO letalsko vreme – meteo.si/met/sl/aviation/ |
GAFOR, SIGWX, karte vetra na višini | Aplikacija povezuje neposredno na uradno stran (grafični/besedilni produkti, primerni za odpiranje, ne za avtomatsko razčlenjevanje) |
| SkyTech.si | Žive vremenske postaje (veter v realnem času) na več slovenskih lokacijah | Aplikacija povezuje na SkyTech, ker ne objavljajo uradnega javnega API-ja |
| Windy.com | Veter na višini (izbira nivoja/hPa), globalni model | Dodatna povezava na koordinato vzletišča – ARSO/meteo.si javno ne objavlja strojno berljivih kart vetra na višini, zato je Windy pragmatična dopolnitev |
| Ocena | Kako je izračunana | Zanesljivost |
|---|---|---|
Primernost smeri vetra za vzlet (rateLaunchAlignment) |
Napovedano smer vetra primerja s seznamom launchWindDirections pri vzletišču (src/sites.json) |
Potrjeno (iz javno dostopnih opisov vzletišč) le za Vogel, Kobalo, Lijak in Kovk. Pri ostalih vzletiščih je polje null in aplikacija to jasno pove namesto ugibanja. Pred letom vedno preveri z lokalnim društvom/šolo letenja. |
Termalno okno in XC ocena (estimateThermalWindow) |
Iz dnevnega poteka temperature/oblačnosti/padavin/vetra oceni približne ure aktivne termike | Groba hevristika, ne meteorološki model. Ne upošteva orografije, senc, inverzij ipd. |
Baza oblakov (estimateCloudBaseM) |
Klasično pravilo: 125 m na °C razlike med temperaturo in rosiščem | Standarden približek, uporaben za grobo oceno, ne za natančno letalsko planiranje |
Pomembna tehnična opomba o smeri vetra: ARSO besedilna polja (npr. dd_shortText)
so predvidoma v slovenskih okrajšavah (S = sever, J = jug, V = vzhod, Z = zahod),
zato razčlenjevalnik namenoma NE podpira hkrati angleških okrajšav (bi bilo
dvoumno – npr. “S” bi lahko pomenilo sever ali “South”). Če je v odgovoru na
voljo številska stopinja smeri, jo aplikacija uporabi prednostno.
vreme.arso.gov.si/api/1.0/,
zato razčlenjevalnik (src/arso.js) polja bere obrambno (poskusi več znanih
imen polj) in se ob spremembah ne sesuje, ampak jasno javi, da podatek
manjka.src/arso.js.src/paragliding.js), niso uradna letalska napoved.
V aplikaciji je zato viden opozorilni napis (disclaimer).curl "https://vreme.arso.gov.si/api/1.0/location/?location=Bovec"
Če se struktura razlikuje od pričakovane (features[].properties.days[].timeline[]
s polji t, rh, dd, ff_val, ffmax_val, clouds_shortText, tp_acc),
prilagodite pick(...) klice v src/arso.js.
npm install
npm run build:data # zgradi public/data/*.json (potrebno, da frontend sploh prikaže podatke)
npm start
Aplikacija posluša na http://localhost:3000 (ali $PORT). Odpri jo v
mobilnem brskalniku (ali z DevTools mobilnim pogledom) – vmesnik je zasnovan
mobile-first, deluje pa tudi na namizju.
Za razvoj z avtomatskim ponovnim zagonom ob spremembah strežnika:
npm run dev
Frontend bere podatke iz public/data/ (glej razdelek Namestitev spodaj),
zato po vsaki spremembi src/sites.json ali če želiš sveže podatke, znova
poženi npm run build:data.
Frontend (public/) bere podatke izključno iz statičnih JSON datotek v
public/data/ (glej spodaj) – zato ga je mogoče gostiti popolnoma
statično, brez strežnika. server.js (Express) je na voljo kot dodatna,
neobvezna možnost za lokalni razvoj ali za gostovanje s samodejno svežimi
podatki ob vsakem zagonu; za GitHub Pages ga ne potrebuješ.
Ker je frontend statičen, celotna stran lahko “živi” na GitHub Pages,
podatki (ARSO/opendata.si) pa se osvežujejo prek priloženega GitHub Action
(.github/workflows/update-data.yml), ki:
push-u ter ročno prek zavihka Actions →
Run workflow) požene node scripts/build-data.js,public/data/,public/ se objavi na GitHub Pages prek uradnih
actions/upload-pages-artifact + actions/deploy-pages.Pomembno: podatki se ne osvežijo ob vsakem obisku strani, ampak samo ob vsakem teku te Action (privzeto vsako uro) – obiskovalci med dvema tekoma vidijo isti posnetek. Čas zadnje osvežitve je viden na vrhu strani (“Podatki osveženi: …”).
Koraki za omogočanje:
claude/weather-forecast-mobile-app-cjwy4o) združiš v svojo
glavno vejo (npr. main), v update-data.yml pod on.push.branches
dodaj/zamenjaj ime te veje, da se stran gradi tudi ob vsakem push-u.https://<uporabnik>.github.io/<repo>/.vreme.tvojadomena.si) in shrani – GitHub bo sam ustvaril
CNAME datoteko v izhodnem artefaktu. Pri registratorju domene nastavi:
vreme.tvojadomena.si): CNAME zapis na
<uporabnik>.github.io;tvojadomena.si): A zapisi na GitHub Pages IP-je
185.199.108.153, 185.199.109.153, 185.199.110.153,
185.199.111.153 (po želji tudi ustrezni AAAA za IPv6).npm install
npm run build:data # enkratna izgradnja public/data/ (ali pusti prazno – API poti spodaj delujejo tudi brez tega)
npm start
Strežnik posluša na $PORT (privzeto 3000) in poleg statičnih datotek
ponuja tudi /api/sites, /api/nearest in /api/weather – uporabno, če
želiš vedno sveže podatke ob vsaki zahtevi namesto urne osvežitve.
Ni potrebnih API ključev.
.github/workflows/update-data.yml Urna osvežitev podatkov + objava na GitHub Pages
scripts/build-data.js Zgradi public/data/*.json iz ARSO/opendata.si
server.js (Neobvezno) Express strežnik za lokalni razvoj / žive API poti
src/sites.json Seznam znanih slovenskih vzletišč (uredi/dodaj po potrebi)
src/geo.js Haversine razdalja, iskanje najbližjega vzletišča
src/fetchUtil.js fetch s časovno omejitvijo in predpomnilnikom (10 min TTL)
src/arso.js Klient za ARSO napoved po imenu kraja
src/opendata.js Klient za opendata.si GPS poročilo (radar/ALADIN/toča)
src/paragliding.js Izpeljane ocene: baza oblakov, ocena vetra, termika, povezave
public/ Mobilno prilagojen frontend (vanilla HTML/CSS/JS, brez build koraka)
public/data/ Generirano z `npm run build:data` – NI v git repozitoriju (.gitignore)
Uredi src/sites.json – vsak vnos potrebuje id, name, region, lat,
lon, elevation (m), arsoLocation (ime kraja, kot ga pozna ARSO napoved)
in po želji skytechUrl ter notes. Koordinate in ARSO imena krajev za
obstoječi seznam so bila zbrana iz javno dostopnih virov (turistične strani,
Paragliding Geopedia) in jih pred resno uporabo priporočamo preveriti/dopolniti
s podatki lokalnih klubov.
Aplikacija je informativno orodje. Ocene vetra, termike in baze oblakov so poenostavljene in ne nadomeščajo uradnega vremenskega briefinga, GAFOR/SIGWX produktov ali lastne presoje pilota pred letom.