SL - Hur får jag fram ett SiteID med ett StopPointNumber?
En fråga som kommit via mail:
Hur får jag fram ett SiteID med ett StopPointNumber?
Jag läser in alla stoppoints och alla sites föe SL i min databas. Använder nedanstående anrop för att erhålla alla stoppoint och alla sites.
http://api.sl.se/api2/LineData.xml?model=stop&k...
http://api.sl.se/api2/LineData.xml?model=site&k...
Förklara gärna.
Följ inlägget
0
följare
Hej,
Förhållandet mellan site och stoppoint är som så att:
En Site innehåller 1 till flera StopArea's.
En StopArea innehåller 1 till flera StopPoints.
Dvs, Site -> StopArea -> StopPoint.
I Site i xml'n så finns ett SiteId och ett StopAreaNumber.
I StopPoint i xml'n så finns ett StopAreaNumber.
Det man får göra är att matcha StopAreaNumber och därmed få ut det SiteId för den Site som given StopPoint tillhör.
//Daniel
Hej,
Problemet är att det finns stopareanumber som har två olika siteid?
Se nedan!
Hur gör man då?
MVH
Mikael Broms
siteid sitename stopareanumber
8343 Gryts trafikplats 81095
1008343 Gryts trafikplats 81095
3569 Gränsgatan 50197
9955 Gränsgatan 50197
1009 Hötorget 11525
9119 Hötorget 11525
3485 Krysshammarvägen 50125
9938 Krysshammarvägen 50125
3650 Nockeby 15303
9120 Nockeby 15303
2529 Säby 66315
2833 Säby 66315
1689 Vårberg 70714
9286 Vårberg 70714
Hej SL,
Önskar svar på min fråga ovan!
med vänlig hälsning
Mikael Broms
Hej,
ursäkta det sena svaret. Det saknas information i API:et, nämligen det som vi kallar "extrainformation".
Sitenamnen är egentligen uppdelad i två delar: [namn] + [extrainformation]. Om man tittar på exemplet Nockeby ovan så har site 3650 namn "Nockeby" och extrainformation "på Drottningholmsvägen". Site 9120 har namn "Nockeby" och extrainformation "Nockebybanan".
Funktionen används vid bl.a. sökning på resor på sl.se. Skriver man in Nockeby får man alltså upp både "Nockeby (på Drottningsholmsvägen)" och "Nockeby (Nockebybanan). Till den första siten är endast stoparea för bussarna på Drottningholmsvägen knuten, till den andra är bussarna på Drottningholmsvägen och Nockebybanan knutna.
Men, denna information saknas alltså i detta API. Vi kommer att titta på det här för att se om vi skall skicka med den i kommande versioner.
Med vänlig hälsning
Andreas Pettersson
Verksamhetsförvaltare grunddata
SL
Hur vet man vilken siteid som t.ex. stopareanumber = 50197 tillhör?
Med vänlig hälsning
MIkael Broms
Hej igen,
en stoparea kan tillhöra flera siter. En site är ett "hållplatsområde" som har bedömts vara av intresse att kunna söka på.
Då stämmer inte inlägget ovan:
"Det man får göra är att matcha StopAreaNumber och därmed få ut det SiteId för den Site som given StopPoint tillhör."
Frågan kvarstår. Hur får jag fram ett SiteID med ett StopPointNumber?
Med vänlig hälsning
Mikael Broms
Och svaret är att du kan få ut flera. En stoppoint tillhör bara en stoparea, men en stoparea kan i några fall tillhöra flera siter.
Välj en av de siter du får fram om du får flera, samtliga omfattar ju angiven stoppoint.
För att få realtidsinformation så skickar man med siteid.
Finns realtidsinformation för stoppointen med i svaret för samtliga siteid:s som stoppointen tillhör?
Med vänlig hälsning
Mikael Broms
Ja, precis.
(Förutsatt såklart att det finns avgångar inom sökt tidsintervall från den stoppointen.)
Kanon.
Tack för hjälpen!
Med vänlig hälsning