Status

    14:e December 2024

Arkiv

Den 16:e Januari - 2024

Öppen data - Trafikverket #1



Coppans Blogg



Länge sen man gjorde nåt vettigt.. Vägverket har ju hundratals mätstationer i landet som visar all väderdata man kan önska sig.
Sitter tre stolpar i närheten. En i Nybro, Alsterbro och Trekanten så varför inte se vad man kan hitta på med dom..

Reggade mig på vägverket så jag får använda deras API och hämta värden från dom..

Coppans Blogg



Som det ser ut på deras karta på https://www.trafikverket.se

Coppans Blogg



Slängde ihop lite kod som hämtar all info från dom..

<?php
function get_temp($url, $params, $station)
{
$xml = simplexml_load_string(file_get_contents($url, false, stream_context_create(array('http' => array('header' => "Content-type:
text/xml/r/n",'method' => 'POST','content' => $params))))) or die("Error: Cannot create object");

$temp = (string) $xml->RESULT[0]->WeatherStation->Measurement->Air->Temp;
$name = (string) $xml->RESULT[0]->WeatherStation->Name;
$weather = (string) $xml->RESULT[0]->WeatherStation->Measurement->Precipitation->Type;
$time = (string) $xml->RESULT[0]->WeatherStation->Measurement->MeasureTime;
$time = substr($time , -18, 8);

$string = $temp . "*" . $weather;

$myfile = fopen("logs/" . preg_replace('/[^a-zA-Z0-9_%[().]/-]/s', '', $station) .".txt","w");
fputs($myfile, $string, strlen($string));
fclose($myfile);

echo $name . " " . $temp . " " . $weather . " " . $time . "<br><br>";

print_r($xml);

echo "<br><br>";
}

$alsterbro = '<REQUEST><LOGIN authenticationkey=""/><QUERY objecttype="WeatherStation" schemaversion="1" limit="1"><FILTER>
<AND><EQ name="Name" value="Alsterbro" /></AND></FILTER></QUERY></REQUEST>';
$nybro = '<REQUEST><LOGIN authenticationkey=""/><QUERY objecttype="WeatherStation" schemaversion="1" limit="1"><FILTER>
<AND><EQ name="Name" value="Nybro" /></AND></FILTER></QUERY></REQUEST>';
$trekanten = '<REQUEST><LOGIN authenticationkey=""/><QUERY objecttype="WeatherStation" schemaversion="1" limit="1"><FILTER>
<AND><EQ name="Name" value="Trekanten" /></AND></FILTER></QUERY></REQUEST>';
$rockneby = '<REQUEST><LOGIN authenticationkey=""/><QUERY objecttype="WeatherStation" schemaversion="1" limit="1"><FILTER>
<AND><EQ name="Name" value="Rockneby" /></AND></FILTER></QUERY></REQUEST>';
$soderakra = '<REQUEST><LOGIN authenticationkey=""/><QUERY objecttype="WeatherStation" schemaversion="1" limit="1"><FILTER>
<AND><EQ name="Name" value="Söderåkra" /></AND></FILTER></QUERY></REQUEST>';

get_temp("https://api.trafikinfo.trafikverket.se/v2/data.xml", $alsterbro, "alsterbro");
get_temp("https://api.trafikinfo.trafikverket.se/v2/data.xml", $nybro, "nybro");
get_temp("https://api.trafikinfo.trafikverket.se/v2/data.xml", $trekanten, "trekanten");
get_temp("https://api.trafikinfo.trafikverket.se/v2/data.xml", $rockneby, "rockneby");
get_temp("https://api.trafikinfo.trafikverket.se/v2/data.xml", $soderakra, "söderåkra");
?>


Vilket resulterade i att man fick ett svar tillbaks i XML format.

Coppans Blogg

Innehållet som publiceras här omfattas av grundlagsskydd. Detta inkluderar inte kommentarsfälten. Du som kommenterar är helt ansvarig för det du skriver.

Kommenterarer på "Öppen data - Trafikverket #1"

A CkWare Production. Copyright 1996 - 2024. NightMode - Where Do You Wanne Sleep Tonight?

Sidan tog 1.11 sekunder att skapa.

Du kommer INTE från en mobil enhet. Du använder SSL
Du använder IPV4.