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:
Egenskap | Typ | Beskrivning |
---|---|---|
ExternalDescription | string | Informationstext |
LastUpdateDateTime | dateTime | Tidpunkt då händelsen uppdaterades |
StartDateTime | dateTime | Händelsens starttid |
Alla stationer
Lista samtliga stationsnamn med resandeutbyte.
Denna fråga returnerar alla stationer med resandeutbyte.
<REQUEST> <LOGIN authenticationkey="{AUTH}" /> <QUERY objecttype="TrainStation" schemaversion="1"> <FILTER> <EQ name="Advertised" value="true" /> </FILTER> <INCLUDE>AdvertisedLocationName</INCLUDE> </QUERY> </REQUEST>
Schema:
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:
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:
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[].Code | string | Kod för bokningsinformation |
Booking[].Description | string | Text som ger bokningsinformation, ex: "Vagn 4 obokad", "Platsbiljett krävs" |
Canceled | boolean | Anger om ankomsten/avgången är inställd |
Deleted | boolean | Anger att dataposten raderats |
Deviation[].Code | string | Kod för avvikelse |
Deviation[].Description | string | Text som beskriver avvikelse, ex: "Buss ersätter", "Spårändrat", "Kort tåg", "Ej servering", "Oväder" |
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[].Code | string | Kod för övrig annonseringsinformation |
OtherInformation[].Description | string | Text som ger övrig annonseringinformation, ex. "Trevlig resa!", "Bakre vagnen 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[].Code | string | Kod för produkten |
ProductInformation[].Description | string | Text som beskriver produkten, ex. "Västtågen", "SJ Snabbtåg", "Pågatågen" |
ScheduledDepartureDateTime | dateTime | Tågets annonserade avgångsdatum |
Service[].Code | string | Kod för service |
Service[].Description | string | Text som beskriver den service som finns, ex "Bistro", "Sov-och liggvagnar", "Kiosk" |
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[].Code | string | Kod för tågsammansättning |
TrainComposition[].Description | string | Text som beskriver tågsammansättning, ex: "Vagnsordning 7, 6, 5, 4, 2, 1" |
TrainOwner | string | Ägaren av det aktuella tågläget |
TypeOfTraffic[].Code | string | Kod för trafiktyp |
TypeOfTraffic[].Description | string | Trafiktypen, ex. "Buss", "Pendeltåg", "Taxi", "Tåg". |
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:
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:
Egenskap | Typ | Beskrivning |
---|---|---|
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:
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:
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:
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:
Egenskap | Typ | Beskrivning |
---|---|---|
DepartureTime | dateTime | Avgångstid |
Route.Type | Ledtyp |