SL Stops and lines v2.0 (Hållplatser och linjer 2)
Listning av hållplatser och linjer i Stockholms län.
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.
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ö
https://api.sl.se/api2/LineData.xml?model=[model]&key=[key]
https://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 Trafiklabs utvecklareportal
En API-nyckel ska användas i URL:en för ett API anrop.
https://api.sl.se/api2/LineData.xml?model=[model]&key=[key]
Nyckelnivåer
Nivå | Max anrop/minut | Max anrop/månad |
---|---|---|
Brons | 5 | 500 |
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 |
Filtrering av data
För modellerna line och jour är det önskvärt att kunna särskilja vilken trafiktyp datat avser. Detta kan åstadkommas genom att skicka med den valfria parametern DefaultTransportModeCode som kan innehålla någon av de Transportmode-värdena som returneras vid anrop till modellen transportmode, ex ”BUS” eller ”METRO”
Ex:
`https://api.sl.se/api2/linedata.xml?key=[nyckel]&model=line&DefaultTransportModeCode=METRO` `https://api.sl.se/api2/linedata.xml?key=[nyckel]&model=jour&DefaultTransportModeCode=BUS`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 https://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
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
https://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
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
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
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
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
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
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å forumetså hjälper vi dig.