FinWX Foorumi

Koodaus- ja rakentelunurkka => Sivustojen koodaaminen (HTML, PHP, MySQL, jne.) => Aiheen aloitti: weatherc - keskiviikko, 30.04.2014, 22:47

Otsikko: Liikennevirasto avannut dataa
Kirjoitti: weatherc - keskiviikko, 30.04.2014, 22:47
Huomasinpa että Liikennevirasto on avannut kasan dataa digitrafficin sivuilla: http://www.digitraffic.fi/
Data on suurilta osin samaa mitä saa Tieinfonkin kautta mutta saattaapi olla että siellä on jotain muutakin, ja, tuolta ne tulevat suoraan eikä kierrä Tieinfon kautta...

Pitäneepi tutkia hitusen asiaa jossain kohtaa...
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - torstai, 01.05.2014, 12:58
Tuoreen kamerakuvan haku on nyt helppoa, esim: http://open.digitraffic.fi/weathercam/C0150201.jpg  8)
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - torstai, 01.05.2014, 19:10
Laitetaanpa pikasiesti kyhätty esimerkki soap-kyselystä php:llä. Tämä hakee kaikkien 523 tiesääasemien tuoreet tiedot:

<?php
//Soap-URL
$soapUrl "http://open.digitraffic.fi/services/roadWeather"// asmx URL of WSDL

// xml post
$xml_post_string '<?xml version="1.0" encoding="utf-8"?>

 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www.gofore.com/sujuvuus/schemas">
 <soapenv:Header/>
 <soapenv:Body>
 <sch:RoadWeather/>
 </soapenv:Body>
 </soapenv:Envelope>';

$headers = array(
 "DT-User-Agent: test",
 "DT-Contact-Info: me"
 );
$rfi = "/home/web3/subdomains/nwn/cache/roadWeather.soap";

if (file_exists($rfi) and (filemtime($rfi) + 6000) > time()) {
 $response = file_get_contents($rfi);
}else{
 // PHP cURL
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $soapUrl);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_TIMEOUT, 10);
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
 $response = curl_exec($ch);
 curl_close($ch);
 file_put_contents($rfi, $response);
 chmod($rfi, 0666);
}

$response1 = str_replace("<soap:Body>","",$response);
$response2 = str_replace("</soap:Body>","",$response1);
$parser = simplexml_load_string($response2);
$array = json_decode(json_encode((array)$parser), TRUE);
$data = $array[RoadWeatherResponse][roadweatherdata][roadweather];
?>


$soapUrl sekä <sch:RoadWeather/> viittaa haluttuun dataan
$headers - pitäisi varmaan laittaa noihin jotain järkevääkin mutta "test" ja "me" näyttää toimivan :P
$rfi - tiedosto johon data tallennetaan. Jotta sivu ei hakisi turhaan uutta tietoa digitrafficista tallentaa se datan 10 minuutiksi.
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: ahpe - perjantai, 02.05.2014, 08:20
Sivutkin ovat näköjään uudet
http://liikennetilanne.liikennevirasto.fi/ (http://liikennetilanne.liikennevirasto.fi/).

Mutta näin ensitarkastelulla, avautuu aina Tampereen ympäristöön ja häiriöt oletuksena, vaikka hakenut kartasta esim. Oulun ympäristön ja kamerat valittuna ja päivittää sivun, eikö ole muisti toimintoa ed. näkymään??
Pitää valita valikosta "Linkki tähän näkymään" ja kopioida ja liittää että avautuisi useimmiten tarkasteltu näkymä? Mutta jos päivitää tämän tallennetun linkin sivun, palaa edelleen Tampereelle ja häiriöt täppään.

Kameran kuvakkeista avautui aikaisemmassa versiossa pikkukuva kameran kuvasta, viemällä hiiren osoitin kuvakkeen päälle, helpotti tietyn kuvan hakemista jos ei muistanut paikan nimeä.
Tuntuvat olevan vielä nämä uudet sivut kehitys vaiheessa?
LainaaTuoreen kamerakuvan haku on nyt helppoa, esim: http://open.digitraffic.fi/weathercam/C0150201.jpg
Kamerankuvat löytyvät tosiaan helposti.
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - perjantai, 02.05.2014, 13:18
LainaaKameran kuvakkeista avautui aikaisemmassa versiossa pikkukuva kameran kuvasta, viemällä hiiren osoitin kuvakkeen päälle, helpotti tietyn kuvan hakemista jos ei muistanut paikan nimeä.
Tuntuvat olevan vielä nämä uudet sivut kehitys vaiheessa?
Ja pahasti :)
Eikä mitään edistystä tapahtunut kuukauteen.
Jos multa kysyy niin on kyllä aika susi tuo uusi kartta. Mm. tietyöt kun listaa listana niin tulee lista jossa ovat kaikki tiet sekaisin listattuna kun eivät ole edes numerojärjetyksessä. Vanhat sivut ovat paljon paremmat.
Pitäiskö kyhätä vastaveto tuolle uudelle kartalle, datahan on suurilta osin saatavilla, ainostaan tietyödata taitaa uupua tuosta avatusta datasta? :P

VT1:sen motarin kamerat näyttää muuten uupuvan noista kamerakuvista digitrafficin kautta.

Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: ahpe - perjantai, 02.05.2014, 13:40
LainaaPitäiskö kyhätä vastaveto tuolle uudelle kartalle, datahan on suurilta osin saatavilla, ainostaan tietyödata taitaa uupua tuosta avatusta datasta?

Tee vai omakartta, varmasti tulee parempi.
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - lauantai, 03.05.2014, 20:41
Lainaus käyttäjältä: ahpe - perjantai, 02.05.2014, 13:40
Tee vai omakartta, varmasti tulee parempi.

Pientä testailua Googlen karttapohjalla, kamerat popup-pallerolla kun laittaa hiiren päälle ja sadetutka kehissä.
Muistaa asetukset seuraavaan kertaan (mitkä layerit ovat näkösällä, zoomitason sekä kartan sijannin). Tällä hetkellä tosin muistamis-funktio vaatii että vaihtaa layeriä että se tallentaa asetukset, pelkkä siirtäminen ei vielä riitä mutta eiköhän sekin saada sinne...
Saattaa olla ajoittain rikki  ;D 8)
http://www.nordicweather.net/liikenne2.php?fi

EDIT: Uusi url: http://www.nordicweather.net/liikenne.php?fi
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: ahpe - lauantai, 03.05.2014, 22:10
Nyt taas voi selata eri kameroiden pikku kuvia, hyvin avautuvat. :)
Näyttäisi Kilpisjärvellä olevan pilkkikilpailut, kun as-autoja kuva täynnä.
Sait muuten "kilpailijan", kun liikennevirasto palasi osittain takaisin vanhaan karttaan, mistä avautuvat pikkukuvat, kun klikkaa kuvaa isommaksi, avautuu kuva uudessa kartassa ja jos haluat klikkaamalla"takaisin karttanäkymään" samaan paikkaan mistä kuva oli, mennään jälleen Tampereelle häiriöihin.? :(
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - lauantai, 03.05.2014, 22:33
LainaaSait muuten "kilpailijan", kun liikennevirasto palasi osittain takaisin vanhaan karttaan, mistä avautuvat pikkukuvat, kun klikkaa kuvaa isommaksi, avautuu kuva uudessa kartassa ja jos haluat klikkaamalla"takaisin karttanäkymään" samaan paikkaan mistä kuva oli, mennään jälleen Tampereelle häiriöihin.?

Nuo vanhat Liikenneviraston kartat ovat koko ajan toimineet (exmex. nordicissa olevat linkit menee sinne) vaikka kuinka tekstissä lukee muuta. Tuo että klikkaamalla menee tuohon uuteen karttaan on kyllä aika häiritsevää varsinkin koska se ei välttämättä avaa sitä kamerakuvaa vaikka kuinka vissiin pitäisi.
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - sunnuntai, 04.05.2014, 13:43
Tiesääpuolella löytyy yli 40 arvoa saatavilla, aina normi sääarvoista suolan pitoisuuteen :P

Tästä tulee samalla pikku testi jos vaikka jossain vaiheessa sais EWN:än kartan portattua OpenLayerille...
Kyssäri koskee lähinnä palleroita kartalla. Pienemmät pallerot näyttää paremmin lähekkäiset asemat kun taas jos haluaa lämpötilan numeron siihen kuten EWN:ssä vaatii se isomman palleron. Yksi idea on että laittaa palleron värin sen mukaan onko pakkasta vai ei tyyliin punertava kun plussaa ja sinertävä kun pakkasta. Tarkemmat tiedothan saa popupista hiiren kanssa.
Niiden väri on helppo muuttaa asemakohtaisesti ja palleron muuttaminenkin joskin ikoniksi jonkun arvon perusteella olisi mahdollista kunhan on ikoni olemassa.
Ideoita tuohon?
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - sunnuntai, 04.05.2014, 18:35
LAM-tiedot lisätty, eli keskinopeudet sekä liikennemäärät. Niiden palleroiden väri menee nopeuden mukaan (>80 km/h = vihreä).
Pitääpi vielä tutkia että löytyiskö sujuvuus-info siihen.

Häiriöinfot näyttää hitusen hankallemmalta koska niissä ei ole kordinaatteja vaan joku epämääräinen pistenumero....Hmm...
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: OPEx - sunnuntai, 04.05.2014, 19:08
Lainaus käyttäjältä: weatherc - sunnuntai, 04.05.2014, 18:35

Häiriöinfot näyttää hitusen hankallemmalta koska niissä ei ole kordinaatteja vaan joku epämääräinen pistenumero....Hmm...

Heti olis tarjolla häriö  HKI-Turku motarilla

Näyttää pirun hyvältä tekeleeltä
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: Leka - sunnuntai, 04.05.2014, 19:39
Lainaus käyttäjältä: weatherc - lauantai, 03.05.2014, 20:41
Pientä testailua Googlen karttapohjalla, kamerat popup-pallerolla kun laittaa hiiren päälle ja sadetutka kehissä.
Muistaa asetukset seuraavaan kertaan (mitkä layerit ovat näkösällä, zoomitason sekä kartan sijannin). Tällä hetkellä tosin muistamis-funktio vaatii että vaihtaa layeriä että se tallentaa asetukset, pelkkä siirtäminen ei vielä riitä mutta eiköhän sekin saada sinne...
Saattaa olla ajoittain rikki  ;D 8)
http://www.nordicweather.net/liikenne2.php?fi

weatherc:n testi pesee http://liikennetilanne.liikennevirasto.fi/ sivuston 100-0 jo tässä vaiheessa ;D
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - sunnuntai, 04.05.2014, 22:26
Häiriöt kuten sujuvuusdatatkin saisi Tieinfon kautta, siellä on kordinaatitkin mukana :)

Mutta ne sai romut korjattua motarilta pois ennenkun kerkesin mitään tekeen....
Pitääpi odotella että tulee häiriö sopivaan kohtaan että voisi impletoida ne.

Sujuvuusdatalle pitää keksiä miten OpenLayersillä pirtää viivat ja saa siihen sen popupin koska niissä on lähtö- ja loppupiste.
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: kapo - maanantai, 05.05.2014, 16:57
Miksei mulla tosta Henkan linkistä tuu minkäänlaista karttaa? Tulee vaan musta pohja, sekä zoomaus ja asetukset, muttei niistä tapahu mitään?
http://www.nordicweather.net/liikenne2.php?fi (http://www.nordicweather.net/liikenne2.php?fi)
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - maanantai, 05.05.2014, 17:18
Lainaus käyttäjältä: kapo - maanantai, 05.05.2014, 16:57
Miksei mulla tosta Henkan linkistä tuu minkäänlaista karttaa? Tulee vaan musta pohja, sekä zoomaus ja asetukset, muttei niistä tapahu mitään?
http://www.nordicweather.net/liikenne2.php?fi (http://www.nordicweather.net/liikenne2.php?fi)

Hjuva kysymys, mulla se toimii ihan OK (paitsi että Tieinfo on nurin joten sen dataa ei tule).
Millä selaimella oot kokeillut?

Pitäis jostain keksiä mistä sais kordinaatit kunta- ja maakuntarajoille että voisi tehdä (keli)varoitukset väritettynä alueena. Datahan niille mulla periaateessa on jo EWN:änkin kautta. Eikä tarttis saada ne parsittua kun kerran kun ne voisi dumpata vaikka mysliin. 
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: kapo - maanantai, 05.05.2014, 18:15
Moro!
Tulikettua mä käytän..... Eikä toimi, ei....
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - maanantai, 05.05.2014, 20:24
FF 28.0 toimii mainiosti täällä...Hmmm...
Kokeile F5:sta pari kertaa että se varmasti hakisi tuoreet filut kuten se pienennetty OpenLayers-jsfilu.
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: kapo - maanantai, 05.05.2014, 22:04
Kiitos!!
Ja kumarrus..... Kyllä tolla f5:lla on mystinen vaikutus! Hyvin toimii nyt... Seuraavalla kerralla kokeilen tota, ennenkuin kyselen täältä mitään... :-\ :-\
Hienon tsydeemin olet taas kerran rakentanut! Ei voi kuin ihmetellä (taas kerran) täältä viereltä... ??? :D
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - maanantai, 05.05.2014, 23:51
Se on aika taikanamiska  :)
Syy tuohon että juntturoi on että nuo staattiset filut tulee dediltä pitkällä Expires-ajalla koska exmex tuo OL:än js-filu ei ole muuttuva paitsi nyt kun lisäsin siihen pari palikkaa. Löysin nimittäin miten tekee custom filun siitä jolla sain sen koon tiputettua megasta vajaaseen 400 KB:iin. Githubin OL-zipissä on build-palikat mukana jotka toimii Pyhonilla.

LainaaPitäis jostain keksiä mistä sais kordinaatit kunta- ja maakuntarajoille että voisi tehdä (keli)varoitukset väritettynä alueena.
Tsadaa. OSM:än nominatimin kautta voi hakea geo-dataa ja tuloksena saa exmex GeoJSON:ia jolla taas voi piirrellä kartalle. :)
http://nominatim.openstreetmap.org
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - tiistai, 06.05.2014, 12:17
Varoitukset kehissä. Shotti liitteenä.  :)
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: Hemmo - tiistai, 06.05.2014, 16:56
Heh .. siisti ja nopemapi kuin viraston oma.
Hyvää työtä  :D
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - tiistai, 06.05.2014, 17:37
Häiriötkin kehissä :)

Lainaasiisti ja nopemapi kuin viraston oma.
Rehellinen kommentti tuohon viraston tekeleeseen on että se on hyvä esimerkki miten noita EI pidä tehdä. Edes pintaa pyyhkivä käyttötestaus (nopeus/toimivuus etc) on selvästi jätetty täysin tekemättä.  ;D

EDITTIÄ:

Löysin tuossa kun hain ikonia häiriöille sivun jossa nippu ikoneita jossa niiden väriä pystyy kustomoimaan, http://mapicons.nicolasmollet.com/.

Kysymys:
Mikä olisi parempi (a) kameroille ja (b) sääasemille, pallero vai ikoni?
Ikoni on kooltaan isompi kuin pallero mutta ikonissa olisi merkki että mikä on kyseessä.
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: kapo - tiistai, 06.05.2014, 20:00
Moi
Ja upee kehitystyö snkun vaan paranee ja vauhti kiihtyy, että kohta hirvittää jo...
Mutta tuohon ikoni / palleroasiaan mun mielipide ois että nuo ikonit on paree, mutta toiset päättäkööt.... :)
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - tiistai, 06.05.2014, 21:59
Ainakin kameroille voisi laittaa ikonin, voisi ehkä koittaa pienentää sitä hitusen jollei siitä tule liian sutturainen.

"Nopeudet"-layerin palleron väri määrittyy nyt pienimmästä nopeuslukemasta. Eli jos vaikkapa toiseen suuntaan mennään satasta mutta toiseen vain 40:ä niin on pallero punainen (Ähäkuti Hesarin ruuhkakartta :P) :)
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - keskiviikko, 07.05.2014, 21:13
Nyt käyttävät ikoneita (on helppo vaihtaa takaisin tarvittaessa).

Hmm...Nuo ikonit "toimii" oikeastaan vain tummissa väreissä joskin muuten ovat parempia, nyt vaihtuu väri lämpötilan/nopeuden mukaan. Lämpötilaskaalan värit ovat samat mitä ennustekartoissakin joskin 5 asteen askeleissa.

Sinänsä pikkusen hassua ettei OpenLayerillä (2.13) näytä olevan funktiota jossa voisi tehdä SVG-ikonin kuten Esrillä tyyliin EWN-kartta jolloin voisi dynaamisesti vaihtaa exmex taustavärin niissä. Nuo kun ovat png-kuvia. Tai pystyy mutta se on perin yksinkertainen pisteestä A pisteeseen B jne menevä kantti-kertaa-kantti ikoni.  
Tai että joku olis tehnyt sellaisen plugarin siihen. En ole ainakaan vielä törmännyt selaiseen.

Yksi syy miksi hain sellaista on tuo EWN-tatapus joka kyllä tarttis saada OL:lle portattu. Toisaalta dynaaminen ikoni vähentäis tarvittavien staattisten ikonien määrää.

Ideoita ikonien värityksisiytä otetaan mielellään vastaan kuten sääasemille, sama väri kaikille, eri väri plussalle/pakkaselle, joku muu väritys jne  ;D

Pari pikku juttua vielä ja alkaa kyhelmä oleen aikas valmis  :)
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - keskiviikko, 07.05.2014, 23:57
Noin, saamalla vaihtui myös urli eli: http://www.nordicweather.net/liikenne.php?fi
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: kapo - perjantai, 09.05.2014, 09:37
Lainaus käyttäjältä: weatherc - torstai, 01.05.2014, 19:10
Laitetaanpa pikasiesti kyhätty esimerkki soap-kyselystä php:llä. Tämä hakee kaikkien 523 tiesääasemien tuoreet tiedot:

<?php
//Soap-URL
$soapUrl "http://open.digitraffic.fi/services/roadWeather"// asmx URL of WSDL

// xml post
$xml_post_string '<?xml version="1.0" encoding="utf-8"?>

 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www.gofore.com/sujuvuus/schemas">
 <soapenv:Header/>
 <soapenv:Body>
 <sch:RoadWeather/>
 </soapenv:Body>
 </soapenv:Envelope>';

$headers = array(
 "DT-User-Agent: test",
 "DT-Contact-Info: me"
 );
$rfi = "/cache/roadWeather.soap";

if (file_exists($rfi) and (filemtime($rfi) + 6000) > time()) {
 $response = file_get_contents($rfi);
}else{
 // PHP cURL
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $soapUrl);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_TIMEOUT, 10);
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
 $response = curl_exec($ch);
 curl_close($ch);
 file_put_contents($rfi, $response);
 chmod($rfi, 0666);
}

$response1 = str_replace("<soap:Body>","",$response);
$response2 = str_replace("</soap:Body>","",$response1);
$parser = simplexml_load_string($response2);
$array = json_decode(json_encode((array)$parser), TRUE);
$data = $array[RoadWeatherResponse][roadweatherdata][roadweather];
?>


$soapUrl sekä <sch:RoadWeather/> viittaa haluttuun dataan
$headers - pitäisi varmaan laittaa noihin jotain järkevääkin mutta "test" ja "me" näyttää toimivan :P
$rfi - tiedosto johon data tallennetaan. Jotta sivu ei hakisi turhaan uutta tietoa digitrafficista tallentaa se datan 10 minuutiksi.

Miksiköhän en saa mitään dataa ulos tällä hakutsydeemillä? Varmaan taas joku f5-tyyppinen ratkaisu, mutta kun ei niin ei? :-[ :-[
Otsikko: Vs: Liikennevirasto avannut dataa
Kirjoitti: weatherc - perjantai, 09.05.2014, 13:29
Tuon häkkyrän data löytyy $data-variablesta.
Laita loppuun

print_r($data);

niin pitäisi listata kaikki.