Kom igång

Exempel på olika vanligt förekommande användningsfall.


På denna sida finns ett antal exempel på vanligt förekommande användningsfall och hur frågorna ser ut för dessa. Parametervärdet {AUTH} byts ut mot riktig nyckel.

Stationsmeddelanden
Visa meddelanden som påverkar en viss station.

Exemplet returnerar alla tågtrafikmeddelanden som påverkar en viss station (i exemplet Stockholm Centralstation 'Cst'). Svarsfälten är begränsade för att minska den returnerade datamängden.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="TrainMessage" schemaversion="1.3">
    <FILTER>
      <EQ name="AffectedLocation" value="Cst" />
    </FILTER>
    <INCLUDE>StartDateTime</INCLUDE>
    <INCLUDE>LastUpdateDateTime</INCLUDE>
    <INCLUDE>ExternalDescription</INCLUDE>
    <INCLUDE>ReasonCodeText</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Tågtrafikmeddelande, exempelvis information kring banarbete, tågfel, anläggningsfel och dylikt.

Egenskap Typ Beskrivning
ExternalDescription string Informationstext
LastUpdateDateTime dateTime Tidpunkt då händelsen uppdaterades
ReasonCodeText string Händelsens eventuella orsak
StartDateTime dateTime Händelsens starttid

Alla stationer
Lista samtliga stationsnamn.

Denna fråga returnerar alla stationer med resandeutbyte.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="TrainStation" schemaversion="1">
    <FILTER />
    <INCLUDE>AdvertisedLocationName</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Trafikplatser, både med och utan resandeutbyte.

Egenskap Typ Beskrivning
AdvertisedLocationName string Stationens namn

Ankomster och Avgångar från Station
Lista samtliga ankomster/avgångar från en station.

Exemplet nedan hämtar tidtabellsinformation (objecttype="TrainAnnouncement") gällande avgångar (ActivityType='Avgang') från Stockholms Central (LocationSignature="Cst"), resultatet är sorterat på avgångstiden (orderby="AdvertisedTimeAtLocation").

Vi har i frågan två olika tidsfönster, ett som rör normalfall och ett som hanterar specialfall. AdvertisedTimeAtLocation är den annonserade tiden. För normalfallet vill vi ha annonseringar med avgång inom 15 minuter och mindre än om 14 timmar. Specialfallet är förseningar, så utöver normalfallet vill vi även ha de avgångar som har planerade avgångar om mindre än 30 minuter (och när som helst bakåt i tiden) och att de har en beräknad (EstimatedTimeAtLocation) avgång större än för 15 minuter sedan. Detta specialfall ger oss alltså alla historiska avgångar men som har en beräknad avgång som ännu inte passerats. Anledningen till att tidsfönstren är 15 minuter bakåt i tiden är för att man ofta vill ha med dessa en liten stund efter avgång.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="TrainAnnouncement" schemaversion="1.3" orderby="AdvertisedTimeAtLocation">
    <FILTER>
      <AND>
        <EQ name="ActivityType" value="Avgang" />
        <EQ name="LocationSignature" value="Cst" />
        <OR>
          <AND>
            <GT name="AdvertisedTimeAtLocation" value="$dateadd(-00:15:00)" />
            <LT name="AdvertisedTimeAtLocation" value="$dateadd(14:00:00)" />
          </AND>
          <AND>
            <LT name="AdvertisedTimeAtLocation" value="$dateadd(00:30:00)" />
            <GT name="EstimatedTimeAtLocation" value="$dateadd(-00:15:00)" />
          </AND>
        </OR>
      </AND>
    </FILTER>
    <INCLUDE>AdvertisedTrainIdent</INCLUDE>
    <INCLUDE>AdvertisedTimeAtLocation</INCLUDE>
    <INCLUDE>TrackAtLocation</INCLUDE>
    <INCLUDE>ToLocation</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Tidtabellsinformation, d.v.s information om tåg på trafikplatser (stationer, hållplatser) varje post motsvarar ett visst tåg vid respektive trafikplats.

Egenskap Typ Beskrivning
AdvertisedTimeAtLocation dateTime Tidtabellstid
AdvertisedTrainIdent string Annonserat tågnummer (tågnumret som står på biljetten)
TrackAtLocation string Spår

Tidtabellsinformation för ett tåg
Visa information om ett visst tåg baserat på tågnummer.

Exemplet visar all tidtabellsinformation för ett specifikt tåg (annonserat tågnummer 535). Sökningen sker på tågnummer vilket är det nummer som står på biljetten. Ingen övrig filtrering eller sortering görs och samtliga fält returneras.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="TrainAnnouncement" schemaversion="1.3">
    <FILTER>
      <EQ name="AdvertisedTrainIdent" value="535" />
    </FILTER>
  </QUERY>
</REQUEST>

Schema:

Tidtabellsinformation, d.v.s information om tåg på trafikplatser (stationer, hållplatser) varje post motsvarar ett visst tåg vid respektive trafikplats.

Egenskap Typ Beskrivning
ActivityId string Aktivitetens unika id
ActivityType string "Ankomst" eller "Avgang"
Advertised boolean Anger om ankomsten/avgången annonseras i tidtabell
AdvertisedTimeAtLocation dateTime Tidtabellstid
AdvertisedTrainIdent string Annonserat tågnummer (tågnumret som står på biljetten)
Booking[] string[] Bokningsinformation, ex: "Vagn 4 obokad."
Canceled boolean Anger om ankomsten/avgången är inställd
Deleted boolean Anger att dataposten raderats
Deviation[] string[] Eventuell avvikelse, ex: "Buss ersätter", "Spårändrat", "Kort tåg", "Ej servering" o.s.v.
EstimatedTimeAtLocation dateTime Tidpunkt för beräknad ankomst eller avgång
EstimatedTimeIsPreliminary boolean Anger om en beräknad tid är preliminär. Notera att om den beräknade tiden är preliminär så innebär det att den kan ändras både framåt och bakåt, ett tåg kan alltså t.ex avgå tidigare än beräknad tidpunkt om den också är markerad som preliminär.
FromLocation[].LocationName string Namn på frånstation. Notera att det avser vad som ska annonseras för resenärerna, det vill säga vad som ska visas på skyltar o.dyl. FromLocation kan med andra ord ha olika innehåll för samma tåg vid olika stationer och olika innehåll vad ankomster respektive avgångar. Fältet anger hur från-stationer ska annonseras.
FromLocation[].Order int Vilken ordning stationer ska visas.
FromLocation[].Priority int Prioritet för vilka stationer som ska visas.
InformationOwner string Namnet på trafikinformationsägaren
LocationSignature string Signatur för stationen
MobileWebLink string Url till trafikägarens mobila hemsida
ModifiedTime dateTime Tidpunkt då dataposten ändrades
NewEquipment int Anger i vilken ordning tåget nyutrustats. Om ingen nyutrustning skett kommer värdet vara noll
Operator string Det järnvägsföretag som utför järnvägstrafik, alltså kör tåget, för en trafikorganisatör.
OtherInformation[] string[] Övrig annonseringsinformation, ex. "Trevlig resa!", "Bakre fordon går låst!", "Ingen påstigning"
PlannedEstimatedTimeAtLocation dateTime Anger en planerad försening och dess giltighet anges med PlannedEstimatedTimeAtLocationIsValid-flaggan
PlannedEstimatedTimeAtLocationIsValid boolean Anger om PlaneradBeraknadTid är giltig. Kommer sättas till false när en operativ beräknad tidrapport, tidrapport eller slopningsrapport skapas
ProductInformation[] string[] Beskrivning av tåget, ex. "Tågkompaniet", "SJ InterCity", "TiB/Tågkomp".
ScheduledDepartureDateTime dateTime Tågets annonserade avgångsdatum
Service[] string[] Lite extra utöver produktinformation, ex "Bistro", "Sov-och liggv"
TechnicalDateTime dateTime Teknisk tid
TechnicalTrainIdent string Tekniskt tågnummer
TimeAtLocation dateTime När tåget har ankommit eller avgått
TimeAtLocationWithSeconds dateTime När tåget har ankommit eller avgått, med sekunder
ToLocation[].LocationName string Tillstation för tåget. Notera att det avser vad som ska annonseras för resenärerna, det vill säga vad som ska visas på skyltar o.dyl. ToLocation kan med andra ord ha olika innehåll för samma tåg vid olika stationer och olika innehåll vad ankomster respektive avgångar. Fältet anger hur till-stationer ska annonseras.
ToLocation[].Order int Vilken ordning stationer ska visas.
ToLocation[].Priority int Prioritet för vilka stationer som ska visas.
TrackAtLocation string Spår
TrainComposition[] string[] Tågsammansättning, ex: "Vagnsordning 7, 6, 5, 4, 2, 1"
TrainOwner string Ägaren av det aktuella tågläget
TypeOfTraffic string Trafiktypen, ex. "Tåg", "Direktbuss", "Extrabuss", "Ersättningsbuss", "Taxi".
WebLink string Url till trafikägarens hemsida
WebLinkName string Namn på trafikinfoägaren att använda i länkar
ViaFromLocation[].LocationName string Namn på via frånstation. Notera att det avser vad som ska annonseras för resenärerna, det vill säga vad som ska visas på skyltar o.dyl. ViaFromLocation kan med andra ord ha olika innehåll för samma tåg vid olika stationer och olika innehåll vad ankomster respektive avgångar. Fältet anger hur från-stationer ska annonseras.
ViaFromLocation[].Order int Vilken ordning stationer ska visas.
ViaFromLocation[].Priority int Prioritet för vilka stationer som ska visas.
ViaToLocation[].LocationName string Namn på vi. Notera att det avser vad som ska annonseras för resenärerna, det vill säga vad som ska visas på skyltar o.dyl. ViaToLocation kan med andra ord ha olika innehåll för samma tåg vid olika stationer och olika innehåll vad ankomster respektive avgångar. Fältet anger hur till-stationer ska annonseras.
ViaToLocation[].Order int Vilken ordning stationer ska visas.
ViaToLocation[].Priority int Prioritet för vilka stationer som ska visas.

Situationer med geo-sökning
Vägrelaterade händelser inom 1 mils radie från specificerad position.

I detta användningsfall vill vi hämta alla vägtrafikrelaterade händelser i närheten av Götaplatsen i centrala Göteborg. Frågan nedan hämtar situationsobjekt (objecttype="Situation") där händelsen också måste ha en avvikelse (Deviation) inom 10km radie från positionen, i detta fall Götaplatsen.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="Situation" schemaversion="1.2">
    <FILTER>
      <WITHIN name="Deviation.Geometry.SWEREF99TM" shape="center" value="320011 6398983" radius="10000" />
    </FILTER>
    <INCLUDE>Deviation.Header</INCLUDE>
    <INCLUDE>Deviation.IconId</INCLUDE>
    <INCLUDE>Deviation.Message</INCLUDE>
    <INCLUDE>Deviation.MessageCode</INCLUDE>
    <INCLUDE>Deviation.MessageType</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Situationer innehållandes händelser och störningar som trafikmeddelanden, vägarbeten, olyckor, restiktioner m.m.

Egenskap Typ Beskrivning
Deviation[].Header string Titel
Deviation[].IconId string Ikonid
Deviation[].Message string Meddelandetext
Deviation[].MessageCode string Meddelandekod, ex. "Beläggningsarbete"
Deviation[].MessageType string
Meddelandetyp, ex: "Vägarbete"
"Viktig trafikinformation"
"Färjor"
"Hinder"
"Olycka"
"Restriktion"
"Trafikmeddelande"
"Vägarbete"

Olyckor
Olyckor på väg.

Frågan nedan hämtar alla situationsobjekt (objecttype="Situation") med avvikelser som är av typen olycka.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="Situation" schemaversion="1.2">
    <FILTER>
      <EQ name="Deviation.MessageType" value="Olycka" />
    </FILTER>
    <INCLUDE>Deviation.Id</INCLUDE>
    <INCLUDE>Deviation.Header</INCLUDE>
    <INCLUDE>Deviation.IconId</INCLUDE>
    <INCLUDE>Deviation.Geometry.WGS84</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Situationer innehållandes händelser och störningar som trafikmeddelanden, vägarbeten, olyckor, restiktioner m.m.

Egenskap Typ Beskrivning
Deviation[].Geometry.WGS84 WKT Geometrisk punkt i koordinatsystem WGS84
Deviation[].Header string Titel
Deviation[].IconId string Ikonid
Deviation[].Id string Datapostens id

Viktiga händelser
Situationer med stor påverkan

Frågan nedan hämtar situationsobjekt (objecttype="Situation") med viktiga händelser med stor trafikpåverkan.

Filtret använder funktionen ELEMENTMATCH vilken säkerställer att samtliga operatorer är sanna för ett och samma element i arrayen Deviation (läs mer).

Någon av de fem olika fallen eftersöks:
1. Den orsakande händelsen är ett Trafikmeddelande eller en Olycka.
2. Inställd färjeavgång.
3. En restriktion som säger att vägen är avstängd.
4. Vägarbete med mycket står påverkan.
5. Övriga meddelandetyper (skiljt från Vägarbete) med stor påverkan eller större.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="Situation" schemaversion="1.2">
    <FILTER>
      <OR>
        <ELEMENTMATCH>
          <EQ name="Deviation.ManagedCause" value="true" />
          <IN name="Deviation.MessageType" value="Trafikmeddelande,Olycka" />
        </ELEMENTMATCH>
        <ELEMENTMATCH>
          <EQ name="Deviation.MessageType" value="Färjor" />
          <EQ name="Deviation.IconId" value="ferryServiceNotOperating" />
        </ELEMENTMATCH>
        <ELEMENTMATCH>
          <EQ name="Deviation.MessageType" value="Restriktion" />
          <EQ name="Deviation.MessageCode" value="Väg avstängd" />
        </ELEMENTMATCH>
        <ELEMENTMATCH>
          <EQ name="Deviation.MessageType" value="Vägarbete" />
          <EQ name="Deviation.SeverityCode" value="5" />
        </ELEMENTMATCH>
        <ELEMENTMATCH>
          <NE name="Deviation.MessageType" value="Vägarbete" />
          <GTE name="Deviation.SeverityCode" value="4" />
        </ELEMENTMATCH>
      </OR>
    </FILTER>
    <INCLUDE>Deviation.Header</INCLUDE>
    <INCLUDE>Deviation.IconId</INCLUDE>
    <INCLUDE>Deviation.Message</INCLUDE>
    <INCLUDE>Deviation.MessageCode</INCLUDE>
    <INCLUDE>Deviation.MessageType</INCLUDE>
    <INCLUDE>Deviation.TemporaryLimit</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Situationer innehållandes händelser och störningar som trafikmeddelanden, vägarbeten, olyckor, restiktioner m.m.

Egenskap Typ Beskrivning
Deviation[].Header string Titel
Deviation[].IconId string Ikonid
Deviation[].Message string Meddelandetext
Deviation[].MessageCode string Meddelandekod, ex. "Beläggningsarbete"
Deviation[].MessageType string
Meddelandetyp, ex: "Vägarbete"
"Viktig trafikinformation"
"Färjor"
"Hinder"
"Olycka"
"Restriktion"
"Trafikmeddelande"
"Vägarbete"
Deviation[].TemporaryLimit string Tillfälliga begränsningar, ex. "bruttovikt 8 ton"

Lufttemperatur
Senast uppmätta lufttemperatur vid Högakustenbron.

Frågan nedan hämtar senast uppmätta mätvärden från väderstationen vid Högakustenbron. Endast tidpunkten för mätningen samt lufttemperaturen returneras för att begränsa datamängden.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="WeatherStation" schemaversion="1">
    <FILTER>
      <EQ name="Name" value="Högakustenbron Topp" />
    </FILTER>
    <INCLUDE>Measurement.Air.Temp</INCLUDE>
    <INCLUDE>Measurement.MeasureTime</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Väderstationer med mätdata.

Egenskap Typ Beskrivning
Measurement.Air.Temp float Lufttemperatur
Measurement.MeasureTime dateTime Tidpunkt då mätvärdena uppdaterades

Vägbeläggning
Vägbeläggning mellan två givna punkter.

Exemplet hämtar beläggningsinformation (objecttype="PavementData") för väg 14 i Jämtlands län (23) i medgående riktning. Filtrerar ut sträckan med hjälp av funktionsanropet CalcContinousLengthFromCoordinate i funktionsbiblioteket PMS_v1.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY objecttype="PavementData" schemaversion="1">
    <FILTER>
      <AND>
        <EQ name="County" value="23" />
        <EQ name="RoadMainNumber" value="14" />
        <EQ name="RoadSubNumber" value="0" />
        <EQ name="Direction.Value" value="Med" />
        <GTE name="StartContinuousLength" value="$function.PMS_v1.CalcContinousLengthFromCoordinate(23, 14, 0, 1, 521405.8, 6957743.1)" />
        <LTE name="EndContinuousLength" value="$function.PMS_v1.CalcContinousLengthFromCoordinate(23, 14, 0, 1, 519695.9, 6961238.4)" />
      </AND>
    </FILTER>
    <INCLUDE>StartContinuousLength</INCLUDE>
    <INCLUDE>EndContinuousLength</INCLUDE>
    <INCLUDE>Length</INCLUDE>
    <INCLUDE>PavementDate</INCLUDE>
    <INCLUDE>PavementType</INCLUDE>
    <INCLUDE>MaxStoneSize</INCLUDE>
    <INCLUDE>Thickness</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Beläggningsdata från PMS-systemen kombinerat med relevant vägdata från NVDB. Vi kan ej garantera att det är helt aktuellt data från NVDB. Datum för när data hämtades framgår av posten TimeStamp. För att se källa för respektive data, gå till fliken Om variabler i systemet PMSV3.

Egenskap Typ Beskrivning
EndContinuousLength int Slut löpande längd. Anges i meter. Slutet för aktuell åtgärdsinformation angivet i antal meter från vägnumrets start inom det länet, i aktuell riktning.
Length int Längd i antal meter
MaxStoneSize int Stenstorlek i beläggningen.
PavementDate dateTime Beläggningsdatum. Datum när åtgärd utfördes. (om flera åtgärder på samma sträcka anges senaste datumet)
PavementType string Typ av åtgärd.
StartContinuousLength int Start löpande längd. Anges i meter. Starten för aktuell åtgärdsinformation angivet i antal meter från vägnumrets start inom det länet, i aktuell riktning.
Thickness double Tjocklek. Medelvärde för beläggningsåtgärdens tjocklek.

Färjeavgångar
De fem nästkommande avgångarna för Röduppleden

Frågan nedan hämtar de fem kommande färjeavgångarna (objecttype="FerryAnnouncement") för leden Röduppleden.

Filtrering görs på turens id samt att avgångstiden ("DepartureTime") skall vara större än aktuell tidpunk. ("$now"). Endast avgångstiden returneras i svaret.

<REQUEST>
  <LOGIN authenticationkey="{AUTH}" />
  <QUERY limit="5" objecttype="FerryAnnouncement" schemaversion="1.2" orderby="DepartureTime">
    <FILTER>
      <EQ name="Route.Id" value="1" />
      <GT name="DepartureTime" value="$now" />
    </FILTER>
    <INCLUDE>DepartureTime</INCLUDE>
  </QUERY>
</REQUEST>

Schema:

Ankomster och avgångar.

Egenskap Typ Beskrivning
DepartureTime dateTime Avgångstid