magyarországi időjárás lekérdezése parancssorból

Fórumok

http://kepfeltoltes.hu/141029/weather_www.kepfeltoltes.hu_.png

a regios=9 módosítható pl: =1,=2,=3,=4,=5 ,
viszont akkor a Debrecent is át kell írni a
városnak megfelelően.

weather.php

<?php
// forrás
$rss = file_get_contents("http://koponyeg.hu/idojaras_rss.php?regios=9");

// kikeresi az rss-ből a várost
ereg ('Debrecen:+.+g>El', $rss, $match);

// hőmérséklet korrigálása
$find = $match[0];
$old = "°C";
$new = "°C";
$newtemp = str_replace($old, $new, $find);

// felesleg levágása
$output = substr($newtemp, 0, -18);

// kimenet kiirása
echo $output;
?>

weather.sh fájl
wget -q http://eleresiutvonal/weather.php -O ido
grep Debrecen ido

Hozzászólások

.bashrc -be:

idojaras(){ curl -s "http://api.wunderground.com/auto/wui/geo/ForecastXML/index.xml?query=${@:-<YOURZIPORLOCATION>}"|perl -ne '/<title>([^<]+)/&&printf "%s: ",$1;/<fcttext>([^<]+)/&&print $1,"\n"';}

Utána bármikor, bármelyik város:

idojaras Szentendre

October 29, 2014: Clear. High 11&deg;C (51&deg;F). Winds 3 kph ESE
October 30, 2014: Clear. High 10&deg;C (50&deg;F). Winds 7 kph SE
October 31, 2014: Scattered Clouds. High 11&deg;C (51&deg;F). Winds 7 kph WNW
November 1, 2014: Scattered Clouds. High 11&deg;C (51&deg;F). Winds 7 kph NW
November 2, 2014: Partly Cloudy. High 12&deg;C (53&deg;F). Winds 3 kph South
November 3, 2014: Partly Cloudy. High 12&deg;C (53&deg;F). Winds 7 kph SSE

--
Coding for fun. ;)

Kicsit finomítottam rajta utólagos engedelmeddel, hogy shell-ben szebb legyen a kimenet :)

idojaras(){ curl -s "http://api.wunderground.com/auto/wui/geo/ForecastXML/index.xml?query=${@:-}">| sed 's/\&amp\;deg\;/ /g' |perl -ne '/<title>([^<]+)/&&printf "%s: ",$1;/<fcttext>([^<]+)/&&print $1,"\n"';}

Másodlagos forrásból időjárási adatok kinyerése szép, de nem teljesen jó.
Ha elsődlegesebb forrásra vágysz, akkor is lehet phpzni, de másképp.

GRIB fájlok letöltése:
http://www.globalmarinenet.com/grib_downloads.php

Lényegében a gribek letöltése parancssorból megy, fortrantól kezdve zygrib és mcIDAS programokig mindenféle lehetőség van erre.
A GRIB fájlok matematikai modellek egy bizonyos téglalap-lefedésre, így egy bizonyos "felbontásban" egy egész megyére, országra, tengerre "pixeles" jelleggel rá tudsz vetíteni mérőpontokként kb. 300 adatot, amely mindegyike 1-1 meteorológiai mérés eredménye. Ezek alapján készítik el a szélirány vektorait, a légnyomások számait stb. Végül ezen mátrix alapján készülnek a sok színes képek, a melyekől a már humanoid agyak megfogalmazzák a szöveges előrejelzéseket. Ők ezután átadják a hírkereskedőkön keresztül a tévéseknek, akik learatják a babért.

GRIB-ekről még bővebben a NOAA--nál van információ, ők a legnagyobb királycsászárok a témában: http://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/

A fortran kódok meg itt: https://software.ecmwf.int/wiki/display/GRIB/Fortran+package+grib_api

GRIB-api itt: http://nimbus.elte.hu/oktatasi_anyagok/grib_api/

Ha már van egy GRIB fájlod, abból parancssorban ki tudod nyerni, hogy a 300-féle adathalmazból melyeket tartalmazza :
http://nimbus.elte.hu/oktatasi_anyagok/grib_api/f2-metaadatok.html
Aztán már mehet a php és a képgenerálás is, mert az is megoldható. Csak azt már ne add ingyen, vízjelezd legalább:)

Ha meg nem tudsz aludni:
http://www.ssec.wisc.edu/mcidas/software/v/documentation.html
Azt hiszem közvetlenül rácsatlakozhatsz ezzel meteorológiai műholdakra is, vagy ha elvitte telkedet egy hurrikán, utólag szelvényes metszeteket végezhetsz a zivatarfront felhőiről és animálhatod is. Elsődleges forrásai itt: http://www.ssec.wisc.edu/mcidas/doc/mcv_guide/current/data/DataSources… (ott a lista a GRIB-képességről is)

---
A gond akkor van, ha látszólag minden működik. ---
---

Hobbi. igazából hajós chartplotterhez töltögetek le széladatokat scripttel, aztán azt vetítem rá a térképre. A chartplotterek tudnak ilyet, de a nyílt forráskódúaknál régebben nem lehetett ezt megcsinálni. Ma már beléjük van építve. Csakhogy amikor tényleg kevés az aksi, az embernek nincs kedve GUI-t betölteni, script letölti a minimális gribet, majd a parancssorból ki lehet olvasni ami kell.
Jó szórakozás.. Csak már ráállt egy egész iparág pl.: http://www.globalmarinenet.com/xgate.php
Amúgy komolyan hülye vagyok az egészhez, a meteorológia borzalmasan bonyolult.

Másik free meteorológiai másodlagos forrás a NAVTEX, az szöveges, nagyjából a Kossuth rádió frekijén lehet befogni sajnos itthon csak akkor, ha a rádió éjszakára elhallgat. Adriai jelentéseket, vészhelyzeti adásokat, warningst lehet szöveges formában fogni. Na az még egy szép falat.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

letöltés:
http://data.hu/get/8179048/weather.zip

weather

#!/usr/bin/env tclsh
# Hungary current weather

set hunweather [exec -- /usr/share/./wfull.sh]

set bh(2) [lindex $hunweather 1]
set gh(2) [lindex $hunweather 3]
set mh(2) [lindex $hunweather 5]
set dh(2) [lindex $hunweather 7]
set ph(2) [lindex $hunweather 9]
set sh(2) [lindex $hunweather 11]
set zh(2) [lindex $hunweather 13]

# * Print Output

puts "\033\[32m .oydmmo:``.ohdo- \033\[0m"
puts "\033\[32m -mN+-`.+shhy+./dM: .-/o/ \033\[0m"
puts "\033\[32m .:NN. `hMNMmmMmMy \033\[0m"
puts "\033\[32m :yNds/-+NMmh. `-` sMMN/ \033\[0m"
puts "\033\[32m .-////osNN-+dNMMm` `dMhdy` \033\[0m"
puts "\033\[32m :hmds. `yMh+osyo++. +/ `::sM- \033\[0m"
puts "\033\[32m :mM/:hMs- .Md \033\[33m$mh(2)\033\[32m +mM/ \033\[0m"
puts "\033\[32m .oo/../Md :hNm+++oo+//ossyM/ .oyNmdMh- \033\[0m"
puts "\033\[32m hMMmMMMNmh /osy++oss+///. /sNmo+--` \033\[0m"
puts "\033\[32m .+sMN- \033\[33m$gh(2)\033\[32m -mMd. \033\[0m"
puts "\033\[32m -/oMN` \033\[33m$bh(2)\033\[32m dM: \033\[0m"
puts "\033\[32m dMh+/ \033\[33m$dh(2)\033\[32m `mNd. \033\[0m"
puts "\033\[32m mM/ hM/ \033\[0m"
puts "\033\[32m hMm .yMy \033\[0m"
puts "\033\[32m ohmMm +MN: \033\[0m"
puts "\033\[32m :NMm/:. \033\[33m$zh(2)\033\[32m .NMo \033\[0m"
puts "\033\[32m /syMN` `NN/ \033\[0m"
puts "\033\[32m .dMy -dMd \033\[0m"
puts "\033\[32m -dNo yMm+ \033\[0m"
puts "\033\[32m sMd+ `MM- \033\[0m"
puts "\033\[32m `+mMh- \033\[33m$sh(2)\033\[32m - `mMh` \033\[0m"
puts "\033\[32m :NMo. \033\[33m$ph(2)\033\[32m . oMMMmMm+ \033\[0m"
puts "\033\[32m `+hMd- yMNNmmMMMmdNNMNNm-`.- \033\[0m"
puts "\033\[32m /NN/ so`sh+hNNo `:- -.:/.-`-- \033\[0m"
puts "\033\[32m -dMNdmm+ .syMNNMyoo: \033\[0m"
puts "\033\[32m ...dMMs++//:.-+mNsy/-. \033\[0m"
puts "\033\[32m ./ysshydmNd+` \033\[0m"

wfull.sh

wget -qO- http://koponyeg.hu/idojaras_rss.php?regios=1 |grep Budapest:|cut -d ">" -f 6 |cut -d "," -f 1|sed -e 's/°/°/g' |sed -e 's/ km\/h/ km\/h /g'
wget -qO- http://koponyeg.hu/idojaras_rss.php?regios=2 |grep Győr:|cut -d ">" -f 6 |cut -d "," -f 1|sed -e 's/°/°/g' |sed -e 's/ km\/h/ km\/h /g'
wget -qO- http://koponyeg.hu/idojaras_rss.php?regios=3 |grep Miskolc:|cut -d ">" -f 6 |cut -d "," -f 1|sed -e 's/°/°/g' |sed -e 's/ km\/h/ km\/h /g'
wget -qO- http://koponyeg.hu/idojaras_rss.php?regios=9 |grep Debrecen:|cut -d ">" -f 6 |cut -d "," -f 1|sed -e 's/°/°/g' |sed -e 's/ km\/h/ km\/h /g'
wget -qO- http://koponyeg.hu/idojaras_rss.php?regios=4 |grep Pécs:|cut -d ">" -f 6 |cut -d "," -f 1|sed -e 's/°/°/g' |sed -e 's/ km\/h/ km\/h /g'
wget -qO- http://koponyeg.hu/idojaras_rss.php?regios=5 |grep Szeged:|cut -d ">" -f 6 |cut -d "," -f 1|sed -e 's/°/°/g' |sed -e 's/ km\/h/ km\/h /g'
wget -qO- http://koponyeg.hu/idojaras_rss.php?regios=6 |grep Siófok:|cut -d ">" -f 6 |cut -d "," -f 1|sed -e 's/°/°/g' |sed -e 's/ km\/h/ km\/h /g'

Irc-rol emlekszem ilyen botra.

Szerintem van hozza a neten pelda kod, hogy parancssorbol is menjen.

--

"You can hide a semi truck in 300 lines of code"

Régi topic, de ha már így feléledt mostanában találtam egy "gyöngyszemet":


kedz@kedz-i7s850:~$ ansiweather
Current weather in Pecs => 20 °C ☀ - Wind => 1.97 m/s NNW - Humidity => 70 % - Pressure => 1015 hPa - Sunrise => jún 25 04.57.05 - Sunset => jún 25 20.42.25
kedz@kedz-i7s850:~$ cat ~/.ansiweatherrc
location:Pecs,HU
units:metric
symbols:true
#forecast:3
daylight:true

Elérhető itt: https://github.com/fcambus/ansiweather
(kell neki a 'jq' csomag)

wget -qO- "http://aviationweather.gov/adds/dataserver_current/httpparam?dataSource=metars&requestType=retrieve&format=csv&stationString=LHUD&hoursBeforeNow=2&mostRecent=true" | tail -n 1 | cut -d \, -f 1

:))

--
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com