Webservice - stationsafgange

"Stationsafgange" er en service, der giver et billede af den aktuelle togdrift i DSB. Servicen udstiller ”stationskøen” for hver af alle landets stationer og en række stationer i Sverige. Stationskøen fortæller den aktuelle historie om hvilke tog, der afgår fra en given station i den nærmeste fremtid.

For S-tog er det en halv time frem og for resten af landet er det tre timer frem. En rejse planlægger man ud fra køreplanerne, hvorimod servicen "Stationsafgange" kan fortælle om man skal løbe de sidste 200 meter til stationen eller vente på det næste tog.

Servicen 'Stationsafgange' udstiller data på to måder:

  1. Via en klassisk webservice, hvor der benyttes SOAP/XML
  2. Via en odataservice, som understøtter forskellige formater (bl.a. JSON og JSONP)

Stationsafgange som webservice

Webservicen findes her: http://traindata.dsb.dk/stationdeparture/

WSDL til webservicen findes her: http://traindata.dsb.dk/stationdeparture/

Webservicen understøtter to operationer:

  1. "GetStations" som returnerer en liste med stationer (alle de danske, plus nogle tyske og svenske)
  2. "GetStationQueue" som tager en stationsbetegnelse (UIC) og returnerer en liste med de tog, som ankommer og/eller afgår fra stationen i den nærmeste fremtid.

Stationsafgange som odataservice
Odataservicen findes her: http://traindata.dsb.dk/stationdeparture/opendataprotocol.svc/

Odataservicen kan udstille data i forskellige formater bl.a. ATOM (XML) og JSON. Odataservicen understøtter to operationer:

  1. "Station" som returnerer en liste med stationer
  2. "Queue" som returnerer en liste med de tog, som ankommer og/eller afgår fra stationen i den nærmeste fremtid.

Odataservicen understøtter også queryoperations, hvor brugeren via en service-urlen kan foretage forskellige filtreringer og selekteringer. Nedenfor er der vist en række eksempler på brug af servicen:

Et udtræk som viser alle Fjern og Regional tog:

http://traindata.dsb.dk/stationdeparture/opendataprotocol.svc/Queue()?$filter=TrainType ne 'S-Tog'

Et udtræk som viser alle forsinkede Fjern og Regional tog:

http://traindata.dsb.dk/stationdeparture/opendataprotocol.svc/Queue()?$filter=(TrainType ne 'S-tog') and (DepartureDelay gt 0L)

Et udtræk som viser alle S-tog:

http://traindata.dsb.dk/stationdeparture/opendataprotocol.svc/Queue()?$filter=TrainType eq 'S-tog'

Et udtræk som viser alle tog afgående fra København:

http://traindata.dsb.dk/stationdeparture/opendataprotocol.svc/Queue()?$filter=StationUic eq '8600626'

NB! Husk at urlerne skal htmlencodes, hvis de skal bruges direkte browserens adressefelt.

PS: Et nyttigt værktøj til test af odataservicen er LINQPad, som kan downloades gratis på internettet.

 

DATAFORMAT AF OUTPUT

1. Operation ”GetStations” / "Station"

Operationerne benyttes til at få en liste af stationer (alle de danske, plus de tyske og svenske stationer, som togene standser ved).

Output: En liste af stationer.

En station har følgende egenskaber:

 

Navn

Forklaring

Abbreviation

Stationsforkortelse f.eks. "KH"

Name

Stationsnavn f.eks. "København H"

UIC

UIC nummer f.eks. 8600626

CountryCode

Landekode f.eks. 86

CountryName

Landenavn f.eks. DK

 

2. Operation ”GetStationQueue” / "Queue"

Operationen returnerer en liste med de tog, som ankommer og/eller afgår fra stationen i den nærmeste fremtid. For S-tog er der data en lille halv time frem i tiden, og for Fjern og Regionaltog mindst en time frem i tiden.

 

Output: En liste af togafgange.

 

Der er forskellige attributter for hhv. S-tog og Fjern & Regionaltog, som det ses i skemaet nedenfor.

 

Navn

Gælder for togtype

Forklaring

StationUIC

Alle

UIC for næste station

TrainType

Alle

Togtypen f.eks. "IC", "RE". Alle S-tog har togtypen "S-tog"

 

TrainNo

Alle

Tognummeret f.eks. "121" eller "10121"

DestinationName

Alle

Navnet på endestationen f.eks. "Sønderborg"

DestinationID

Alle

UIC nummeret på endestationen f.eks. "8600327"

DestinationCountryCode

Alle

Landekoden for endestationen f.eks. "86"

Track

Alle

Spor nummeret - f.eks. "2"

ScheduledArrival

Fjern & Regional

Tidspunktet hvor toget er planlagt til at ankomme

ScheduledDeparture

Fjern & Regional

Tidspunktet hvor toget er planlagt til at afgå

ArrivalDelay

Fjern & Regional

Angiver hvor mange sekunder toget er forsinket i forhold til ScheduledArrival

DepartureDelay

Fjern & Regional

Angiver hvor mange sekunder toget er forsinket i forhold til ScheduledDeparture

Cancelled

Alle

Informerer om toget er aflyst (pt. er dette felt dog altid "false", da servicen pt. ikke har data for aflyste tog)

Line

S-tog

F.eks. ”A”

MinutesToDeparture

S-tog

Antal minutter til toget afgår. F.eks. "½", "1" eller "2".

Direction

S-tog

Togets retning i forhold til hovedbanegården. Tog mod Dybbølsbro kører mod ”Syd”. Tog mod Vesterport kører mod ”Nord”. På ringbanen kører tog mod Ny Ellebjerg mod ”Syd” mens Hellerup-togene kører mod ”Nord”.

 

FEJLHÅNDTERING

Når der forespørges på "GetStations" eller "Station" vil der blive kastet en exception, hvis stationslisten ikke kunne skabes.

Når der forespørges på "GetStationQueue", vil der returneres et status objekt, der fortæller hvorledes forespørgslen forløb. Der eksisterer følgende statusbeskeder:

Statusnummer

Statustekst

Forklaring

0

Ok

Forespørgslen gik godt

1

Invalid UIC number

UIC nummeret er ukendt

2

No data

Der er ingen data for hverken S-tog eller Fjern & Regional tog.

3

Unexpected error occourred

Uventet fejl opstod.

 

FORKORTELSER
Du finder en liste med stationsforkortelser her


DSB Labs på facebook

DSB Labs er også på Facebook

Kontakt

Du kan kontakte os på:

dsblabs@dsb.dk