Prognoza vremena iz naredbenog retka

Podatke o vremenu lako možemo dobiti iz raznih programa, widgeta ili pronaći na webu, ali ponekad ih je zgodno dobiti u naredbenom retku (primjerice, ako imate opremu na izdvojenoj lokaciji).  Na ovaj način je lakše prenijeti podatke u skriptu, jer nema potrebe za stripanjem HTML-a.


Izdvojili smo dva servisa. Jedan je wttr.in, i koristi se bez specijalnih alata, dovoljan je samo standardni "curl", primjerice:

$ curl wttr.in/split

Dobit ćemo podatke o vremenu za tri dana. Ispis je u boji, pa je u ovom slučaju malo teže dobiti izlaz koji možemo upotrijebiti u nekakvoj skripti.

Zanimljivost je da možete vidjeti i mjesečevu fazu, odnosno mijenu:

Trenutno vrijeme možete saznati i preko kodova za zračne luke (format IATA):

Ime             IATA    ICAO    Grad
Dubrovnik DBV LDDU Dubrovnik
Lošinj Island LSZ LDLO Lošinj
Osijek OSI LDOS Osijek
Pula PUY LDPL Pula
Rijeka RJK LDRI Rijeka
Bol BWK LDSB Brač Island
Split SPU LDSP Split
Zagreb ZAG LDZA Zagreb
Zemunik ZAD LDZD Zadar

U ovom primjeru, pogledajmo podatke o vremenu sa osječkog aerodroma (kod je OSI):

# curl wttr.in/OSI



Kad smo već kod aerodromskih kodova, postoji i specijalizirani programčić koji će vam reći podatke o vremenu specifično za pojedine aerodrome. On podržava mnogo više aerodroma, pa će možda biti zanimljiv onima koji su blizu nekog manjeg aerodroma. Program se zove "weather-util" i instalira se s apt-get:

# apt-get install weather-util
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
weather-util-data
The following NEW packages will be installed:
weather-util weather-util-data
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 5973 kB of archives.
After this operation, 6146 kB of additional disk space will be used.
Do you want to continue? [Y/n]
...

Korištenje je jednostavno, no treba znati ICAO kodove, pa ih donosimo sve:

    LDDA – Daruvar Airport – Daruvar
LDDD – Zagreb AFTN Airport – Zagreb
LDDP – Ploče Airport – Ploče
LDDU (DBV) – Dubrovnik Airport – Dubrovnik
LDLO (LSZ) – Lošinj Airport – Lošinj
LDOB – Borovo Airport – Borovo
LDOC – Čepin Airport – Čepin
LDOR – Slavonski Brod Airport – Slavonski Brod
LDOS (OSI) – Osijek Airport – Osijek
LDPL (PUY) – Pula Airport – Pula
LDPM – Medulin Airport – Medulin
LDPN – Unije Airport – Unije
LDPV – Vrsar Airport – Vrsar
LDRG – Grobničko Polje Airport – Grobnik
LDRI (RJK) – Rijeka Airport – Rijeka
LDRO – Otočac Airport – Otočac
LDSB (BWK) – Bol Airport – Brač
LDSH – Hvar Airport – Hvar
LDSP (SPU) – Split Airport – Split
LDSS – Sinj Airport – Sinj
LDVA – Varaždin Airport – Varaždin
LDVC – Čakovec Airport – Čakovec
LDVK – Koprivnica Airport – Koprivnica
LDZA (ZAG) – Franjo Tuđman Airport – Zagreb
LDZD (ZAD) – Zadar Airport – Zadar
LDZG – Zagreb City Airport – Zagreb
LDZL – Zagreb Lučko Airport – Zagreb
LDZO – Zagreb ACC Airport – Zagreb
LDZU – Udbina Airport – Udbina

Nažalost, neki ne vraćaju podatke o vremenu, pa to imajte na umu.

$ weather LDZA
Searching via station...
[caching result Zagreb / Pleso, Croatia]
Current conditions at Zagreb / Pleso, Croatia (LDZA) 45-44N 016-04E 107M
Last updated Jun 30, 2016 - 07:00 AM EDT / 2016.06.30 1100 UTC
Temperature: 82 F (28 C)
Relative Humidity: 45%
Wind: from the SSE (150 degrees) at 6 MPH (5 KT) (direction variable)

Postoji i neznatno kraća verzija, pogodnija ako ćete izvlačiti podatke za skriptu ili slično.

$ weather -q LDZA
Searching via station...
[caching result Zagreb / Pleso, Croatia]
Temperature: 82 F (28 C)
Relative Humidity: 45%
Wind: from the SSE (150 degrees) at 6 MPH (5 KT) (direction variable)

Sam program "weather" ima još opcija, a od zanimljivijih možemo spomenuti upozorenja o tornadima i drugim vremenskim nepogodama, no vjerujemo da će vam te informacije prije doći preko TV-a i radija (a i fali nam nešto tornada i uragana na ovim područjima).

Weather cachira podatke, pa se prilikom ponovnog poziva unutar određenog vremenskog razdoblja prikazuju podaci iz cachea. Ukoliko želite svježe podatke, upotrijebite opciju "--no-cache":

$ weather -q --no-cache LDDU
Searching via station...
[using result Dubrovnik / Cilipi, Croatia]
Temperature: 82 F (28 C)
Relative Humidity: 48%
Wind: from the SW (220 degrees) at 8 MPH (7 KT) (direction variable)

Na kraju, moramo spomenuti da i weather, kao i wttr.in, podržava pretraživanje po imenu grada:

$ weather rijeka
Searching via name...
[using result Rijeka / Omisalj, Croatia]
Current conditions at Rijeka / Omisalj, Croatia (LDRI) 45-13N 014-35E
Last updated Jun 30, 2016 - 07:30 AM EDT / 2016.06.30 1130 UTC
Temperature: 82 F (28 C)
Relative Humidity: 51%
Wind: from the WNW (300 degrees)

Nažalost, nama se čini da je takvo pretraživanje dosta sporo (oko 35 sekundi), pa smo radije koristili oznake aerodroma (oko 7 sekundi).

$ time weather -q --no-cache dubrovnik
real 0m34.817s

$ time weather -q --no-cache LDDU
real 0m6.687s
Kuharice: 
Kategorije: 
Vote: 
0
No votes yet