SL Hållplatser och Linjer 2

För att kunna beskriva trafikinformation på ett konsekvent sätt, är det nödvändigt att ingående begrepp och definitioner är klara och tydliga. De viktigaste begreppen för denna tjänst presenteras nedan.

Begreppsmodell

Begrepp

Beskrivning

Site

Site är en gruppering av StopAreas som används för att förenkla sökningen i reseplaneraren.

StopArea

StopArea är en gruppering av StopPoints med samma trafikslag och namn inom ett avgränsat geografiskt område, exempelvis en terminal.

StopPoint

En StopPoint är ett stoppställe och ingår i en StopArea

Line

Linje annonserad mot resenär

JourneyPattern

En unik körväg för en linje

JourneyPatternPointOnLine

Innehåller samtliga stoppställen som trafikeras av en viss linje

Transportmode

Trafikslag

API

Åtkomst

URL:er för anrop finns specificerade nedan:

Produktionsmiljö

http://api.sl.se/api2/LineData.xml?model=[model]&key=[key]

http://api.sl.se/api2/LineData.json?model=[model]&key=[key]

Observera att det är extension i anropet som avgör formateringen av svaret.

API nycklar, behörighet

API nycklar kan införskaffas via följande sajt: http://www.trafiklab.se/api

En API nyckel ska användas i URL:en för ett API anrop.

http://api.sl.se/api2/LineData.xml?model=[model]&key=[key]

Format

API:et har support för XML och JSON dataformatering.

Önskad formatering anges i URL:en för ett API anrop.

api.sl.se/api2/LineData.xml?model=[model]&key=[key]

Datatyper

Alla datatyper representeras alltid i strängform för respektive format.

Typen angiven vid beskrivningar av modeller anger endast en lämplig datatyp att konvertera värdet till i ett givet programmeringsspråk.

Typ

Exempel

Beskrivning

Int

123

Alla datatyper representeras alltid i strängform. Kan dock konverteras till datatypen Int om programmeringsspråket har stöd till det

Teckenkodning

UTF-8 används för både XML och Json.

Prestanda

Eftersom anrop returnerar relativ stor datamängd är det starkt rekommenderat att anropet innehåller följande HEADER parameter för att möjliggöra GZIP komprimering i svaret.

Nyckel

Värde

Accept-Encoding

gzip, deflate

Uppdateringsfrekvens

API portalen uppdaterar data en gång per dygn mellan klockan 0.00-2.00 varje dag.

API modell

Anrop till http://api.sl.se/api2/LineData returnerar alltid en API modell (basmodell) tillbaka, oavsett vilken specifik datamodell man har begärt i anropet.

Nyckel

Typ

Exempel

Beskrivning

StatusCode

Int

0

0 om anropet har gått bra, annars en felkod som inte kan åtgärdas via tex ett modifierat anrop

ExecutionTime

Int

267

Antal millisekunder som det har tagit att genererar ett svar på servern

ResponseData

Objekt

 

Container-objekt som innehåller attribut och data

Version

String

2014-06-27 14:03:39.103

Senast ändrad. Uppdateras normalt sett bara en gång per dygn

Type

String

DataModelType

Anger typen av datamodellen som svaret innehåller:

Site, StopPoint, Line, JourneyPatternPointOfLine, TransportMode

ResponseData

Objekt

 

Container-objekt som innehåller typad data

API modell för XML

<ResponseOfPwsResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <StatusCode>0</StatusCode> <ExecutionTime>267</ExecutionTime> <ResponseData> <Version xmlns="http://api.sl.se/api/pws">2014-10-09 01:05</Version> <Type xmlns="http://api.sl.se/api/pws">DataModelType</Type> <!--DataModel></DataModel> ... <DataModel></DataModel--> </ResponseData> </ResponseOfPwsResult>

 

API modell för JSON

{ "StatusCode": 0, "Execut ionTime": 282, "ResponseData": { "Version": "2014-10-09 01:05", "Type": "DataModelType", "Result": [ /* DataModel, ..., DataModel */ ] } }

Specifikation för datamodeller

API:et tillhandahåller följande datamodeller

Nyckel

Värde

Beskrivning

model

site

Returnerar svar med Site objekt

model

stop

Returnerar svar med StopPoint objekt

model

line

Returnerar svar med Line objekt

model

jour

Returnerar svar med JourneyPatternPointOnLine objekt

model

tran

Returnerar svar med TransportMode objekt

Önskad datamodell anges i URL:en för ett API anrop.

api.sl.se/api2/LineData.xml?model=[model]&key=[key]

Exempel

http://api.sl.se/api2/LineData.xml?model=site

Site

Beskrivning

Site är en gruppering av StopAreas som används för att förenkla sökningen i reseplaneraren.

Egenskaper

Egenskap

Kan konverteras till

Exempel

Beskrivning

SiteId

Int

1002

Unikt identifikationsnummer för en Site

SiteName

String

Centralen

Benämning på området

StopAreaNumber

Int

1051

Unikt identifikationsnummer för hållplats

LastModifiedUtcDateTime

DateTime

2014-06-27 14:03:39.103

Senast ändrad

ExistsFromDate

DateTime

2014-06-28 00:00:00.000

Gäller fr.o.m. datum

XML objektstruktur

<Site xmlns="http://api.sl.se/api/pws"> <SiteId>1002</SiteId> <SiteName>Centralen</SiteName> <StopAreaNumber>1051</StopAreaNumber> <LastModifiedUtcDateTime>2014-06-27 14:03:39.103</LastModifiedUtcDateTime> <ExistsFromDate>2014-06-28 00:00:00.000</ExistsFromDate> </Site>

 

JSON objektstruktur

{ "SiteId": "1002", "SiteName": "Centralen", "StopAreaNumber": "1051", "LastModifiedUtcDateTime": "2014-06-27 14:03:39.103", "ExistsFromDate": "2014-06-28 00:00:00.000" }

 

StopPoint

Beskrivning

StopPoints (Stoppställen) ingår i en StopArea.

Egenskaper

Egenskap

Kan konverteras till

Exempel

Beskrivning

StopPointNumber

Int

1051

Unikt identifikationsnummer för stoppställe

StopPointName

String

T-Centralen

Namn på stoppställe

StopAreaNumber

Int

1051

Number för StopArea

Ett stoppställe ingår endast i en StopArea

LocationNorthingCoordinate

Double

59.3313179695028

Koordinat i WGS84-format

LocationEastingCoordinate

Double

18.0616773959365

Koordinat i WGS84-format

ZoneShortName

String

A

Taxezon. A, B eller C

Om SLs taxa inte gäller är taxezon null

StopAreaTypeCode

String

METROSTN

Användning av hållplatsen. BUSSTERM, TRAMSTN,METROSTN, RAILWSTN, SHIPBER eller FERRYBER

LastModifiedUtcDateTime

DateTime

2014-06-03 00:00:00.000

Senast ändrad

ExistsFromDate

DateTime

2014-06-03 00:00:00.000

Gäller fr.o.m. datum

XML objektstruktur

<StopPoint xmlns="http://api.sl.se/api/pws"> <StopPointNumber>1051</StopPointNumber> <StopPointName>T-Centralen</StopPointName> <StopAreaNumber>1051</StopAreaNumber> <LocationNorthingCoordinate>59.3313179695028</LocationNorthingCoordinate> <LocationEastingCoordinate>18.0616773959365</LocationEastingCoordinate> <ZoneShortName>A</ZoneShortName> <StopAreaTypeCode>METROSTN</StopAreaTypeCode> <LastModifiedUtcDateTime>2014-06-03 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2014-06-03 00:00:00.000</ExistsFromDate> </StopPoint>

 

JSON objektstruktur

{ "StopPointNumber": "1051", "StopPointName": "T-Centralen", "StopAreaNumber": "1051", "LocationNorthingCoordinate": "59.3313179695028", "LocationEastingCoordinate": "18.0616773959365", "ZoneShortName": "A", "StopAreaTypeCode": "METROSTN", "LastModifiedUtcDateTime": "2014-06-03 00:00:00.000", "ExistsFromDate": "2014-06-03 00:00:00.000" }

Line

Beskrivning

Returnerar beskrivning av en linje. Innehåller referenser till trafikslag.

Egenskaper

Egenskap

Kan konverteras till

Exempel

Beskrivning

LineNumber

Int

3

Unikt identifikationsnummer för linje

LineDesignation

String

3

Linjebeteckning

DefaultTransportMode

String

blåbuss

Gruppering av linjer för presentation

DefaultTransportModeCode

String

BUS

Trafikslag

LastModifiedUtcDateTime

DateTime

2007-08-24 00:00:00.000

Senast ändrad

ExistsFromDate

DateTime

2007-08-24 00:00:00.000

Gäller fr.o.m. datum

XML objektstruktur

<Line xmlns="http://api.sl.se/api/pws"> <LineNumber>3</LineNumber> <LineDesignation>3</LineDesignation> <DefaultTransportMode>blåbuss</DefaultTransportMode> <DefaultTransportModeCode>BUS</DefaultTransportModeCode> <LastModifiedUtcDateTime>2007-08-24 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2007-08-24 00:00:00.000</ExistsFromDate> </Line>

JSON objektstruktur

{ "LineNumber": "3", "LineDesignation": "3", "DefaultTransportMode": "blåbuss", "DefaultTransportModeCode": "BUS", "LastModifiedUtcDateTime": "2007-08-24 00:00:00.000", "ExistsFromDate": "2007-08-24 00:00:00.000" }

JourneyPatternPointOnLine

Beskrivning

Returnerar kopplingen mellan stoppställe och linje. Innehåller samtliga stoppställen som trafikeras av en viss linje.

Egenskaper

Egenskap

Kan konverteras till

Exempel

Beskrivning

LineNumber

Int

1

Unikt identifikationsnummer för linje

DirectionCode

Int

1

Linjeriktning

JourneyPatternPointNumber

Int

10008

Unikt identifikationsnummer för stoppställe

LastModifiedUtcDateTime

DateTime

2012-06-23 00:00:00.000

Senast ändrad

ExistsFromDate

DateTime

2012-06-23 00:00:00.000

Gäller fr.o.m. datum

XML objektstruktur

<JourneyPatternPointOnLine xmlns="http://api.sl.se/api/pws"> <LineNumber>1</LineNumber> <DirectionCode>1</DirectionCode> <JourneyPatternPointNumber>10008</JourneyPatternPointNumber> <LastModifiedUtcDateTime>2012-06-23 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2012-06-23 00:00:00.000</ExistsFromDate> </JourneyPatternPointOnLine>

JSON objektstruktur

{ "LineNumber": "1", "DirectionCode": "1", "JourneyPatternPointNumber": "10008", "LastModifiedUtcDateTime": "2012-06-23 00:00:00.000", "ExistsFromDate": "2012-06-23 00:00:00.000" }

TransportMode

Beskrivning

Returnerar tillgängliga trafikslag. Linjedatan refererar till trafikslaget via egenskapen DefaultTransportModeCode.

Samband mellan TransportModeCode och StopAreaCode

DefaultTransportModeCode

StopAreaTypeCode

BUS

BUSTERM

METRO

METROSTN

TRAM

TRAMSTN

TRAIN

RAILWSTN

SHIP

SHIPBER

FERRY

FERRYBER

Objektegenskaper

Egenskap

Kan konverteras till

Exempel

Beskrivning

DefaultTransportModeCode

String

BUS

Unik kod för trafikslag

DefaultTransportMode

String

buss

Benämning på trafikslag

StopAreaTypeCode

String

BUSTERM

Typkod för hållplatsen

LastModifiedUtcDateTime

DateTime

2007-08-24 00:00:00.000

Senast ändrad

ExistsFromDate

DateTime

2007-08-24 00:00:00.000

Gäller fr.o.m. datum

XML objektstruktur

<TransportMode xmlns="http://api.sl.se/api/pws"> <DefaultTransportModeCode>BUS</DefaultTransportModeCode> <DefaultTransportMode>buss</DefaultTransportMode> <StopAreaTypeCode>BUSTERM</StopAreaTypeCode> <LastModifiedUtcDateTime>2007-08-24 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2007-08-24 00:00:00.000</ExistsFromDate> </TransportMode>

JSON objektstruktur

{ "DefaultTransportModeCode": "BUS", "DefaultTransportMode": "buss", "StopAreaTypeCode": "BUSTERM", "LastModifiedUtcDateTime": "2007-08-24 00:00:00.000", "ExistsFromDate": "2007-08-24 00:00:00.000" }

 

Fullständiga exempel

Trafikslag XML

<ResponseOfPwsResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <StatusCode>0</StatusCode> <ExecutionTime>277</ExecutionTime> <ResponseData> <Version xmlns="http://api.sl.se/api/pws">2014-10-09 18:05</Version> <Type xmlns="http://api.sl.se/api/pws">TransportMode</Type> <TransportMode xmlns="http://api.sl.se/api/pws"> <DefaultTransportModeCode>BUS</DefaultTransportModeCode> <DefaultTransportMode>buss</DefaultTransportMode> <StopAreaTypeCode>BUSTERM</StopAreaTypeCode> <LastModifiedUtcDateTime>2007-08-24 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2007-08-24 00:00:00.000</ExistsFromDate> </TransportMode> <TransportMode xmlns="http://api.sl.se/api/pws"> <DefaultTransportModeCode>FERRY</DefaultTransportModeCode> <DefaultTransportMode>färja</DefaultTransportMode> <StopAreaTypeCode>FERRYBER</StopAreaTypeCode> <LastModifiedUtcDateTime>2007-08-24 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2007-08-24 00:00:00.000</ExistsFromDate> </TransportMode> <TransportMode xmlns="http://api.sl.se/api/pws"> <DefaultTransportModeCode>METRO</DefaultTransportModeCode> <DefaultTransportMode>tunnelbana</DefaultTransportMode> <StopAreaTypeCode>METROSTN</StopAreaTypeCode> <LastModifiedUtcDateTime>2007-08-24 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2007-08-24 00:00:00.000</ExistsFromDate> </TransportMode> <TransportMode xmlns="http://api.sl.se/api/pws"> <DefaultTransportModeCode>SHIP</DefaultTransportModeCode> <DefaultTransportMode>båt</DefaultTransportMode> <StopAreaTypeCode>SHIPBER</StopAreaTypeCode> <LastModifiedUtcDateTime>2007-08-24 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2007-08-24 00:00:00.000</ExistsFromDate> </TransportMode> <TransportMode xmlns="http://api.sl.se/api/pws"> <DefaultTransportModeCode>TRAIN</DefaultTransportModeCode> <DefaultTransportMode>pendeltåg</DefaultTransportMode> <StopAreaTypeCode>RAILWSTN</StopAreaTypeCode> <LastModifiedUtcDateTime>2007-08-24 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2007-08-24 00:00:00.000</ExistsFromDate> </TransportMode> <TransportMode xmlns="http://api.sl.se/api/pws"> <DefaultTransportModeCode>TRAM</DefaultTransportModeCode> <DefaultTransportMode>spårvagn/lokalbana</DefaultTransportMode> <StopAreaTypeCode>TRAMSTN</StopAreaTypeCode> <LastModifiedUtcDateTime>2007-08-24 00:00:00.000</LastModifiedUtcDateTime> <ExistsFromDate>2007-08-24 00:00:00.000</ExistsFromDate> </TransportMode> </ResponseData> </ResponseOfPwsResult>

Trafikslag JSON

{ "StatusCode": 0, "ExecutionTime": 327, "ResponseData": { "Version": "2014-10-09 18:05", "Type": "TransportMode", "Result": [{ "DefaultTransportModeCode": "BUS", "DefaultTransportMode": "buss", "StopAreaTypeCode": "BUSTERM", "LastModifiedUtcDateTime": "2007-08-24 00:00:00.000", "ExistsFromDate": "2007-08-24 00:00:00.000" }, { "DefaultTransportModeCode": "FERRY", "DefaultTransportMode": "färja", "StopAreaTypeCode": "FERRYBER", "LastModifiedUtcDateTime": "2007-08-24 00:00:00.000", "ExistsFromDate": "2007-08-24 00:00:00.000" }, { "DefaultTransportModeCode": "METRO", "DefaultTransportMode": "tunnelbana", "StopAreaTypeCode": "METROSTN", "LastModifiedUtcDateTime": "2007-08-24 00:00:00.000", "ExistsFromDate": "2007-08-24 00:00:00.000" }, { "DefaultTransportModeCode": "SHIP", "DefaultTransportMode": "båt", "StopAreaTypeCode": "SHIPBER", "LastModifiedUtcDateTime": "2007-08-24 00:00:00.000", "ExistsFromDate": "2007-08-24 00:00:00.000" }, { "DefaultTransportModeCode": "TRAIN", "DefaultTransportMode": "pendeltåg", "StopAreaTypeCode": "RAILWSTN", "LastModifiedUtcDateTime": "2007-08-24 00:00:00.000", "ExistsFromDate": "2007-08-24 00:00:00.000" }, { "DefaultTransportModeCode": "TRAM", "DefaultTransportMode": "spårvagn/lokalbana", "StopAreaTypeCode": "TRAMSTN", "LastModifiedUtcDateTime": "2007-08-24 00:00:00.000", "ExistsFromDate": "2007-08-24 00:00:00.000" }] } }

 

Support

Räcker inte dokumentationen så sök gärna bland alla de hundratals inlägg som finns på vårt supportforum. Det är troligt att någon redan har hittat och löst samma problem som du har.

Hittar du fortfarande inte svar på din fråga så skriv ett eget inlägg på forumet så hjälper vi dig.