Till senaste kommentaren
Detta inlägg är gammalt och kan innehålla inaktuell information.

Pendeltågens nummer t.ex. nr 36 för SL's linje mellan Märsta och Södertälje?

GTFS-filen 'routes.txt' i https://api.resrobot.se/gtfs/sweden.zip verkar inte använda något värde i kolumnen 'route_short_name' för Stockholms pendeltåg.
Kolumnen 'route_long_name' innehåller texten 'Pendeltåg' men hur ska man få fram t.ex. numret 36 för SL's linje mellan Märsta och Södertälje?

Jag har också provat att joina SL's pendeltåg-routes med 'trips.txt' men fältet 'trips.trip_short_name' innehåller då t.ex. '12787' , '12739' , '12741' m.m. och det vet jag inte vad det är för slags namn och vad de kan användas till?
Kan dessa användas för att på något sätt joina fram det eftersökta linjenumret? (d.v.s. 36 i nämnda exemplet Märsta-Södertälje)


Kommentarer

  • trip_short_name är tågnummer, precis som för alla andra tåg. 36 är SL:s interna linjenummer och finns inte med i Samtrafikens system. Du kan få fram SL:s linjenummer genom att söka på tågnumret i Trafikverkets api.
  • Hej!

    Det där är något som Samtrafiken tittar på, men jag kan inte i dagsläget lova att det kommer. GTFS-filen används av "många", bland annat Google. Om jag minns rätt har vi inte riktigt förstått hur Google hanterar om det finns både route_short_name och route_long_name, vilket gör att vi i dagsläget har valt att inte leverera "linjenumret".

    mvh
    /Martin
    Team Trafiklab
  • Google visar normalt route_short name om båda finns. Enligt de officiella reglerna för GTFS är det fullt tillåtet att använda både route_short_name och route_long_name för samma route.

    Som ni säger är det många som använder den mycket användbara GTFS-filen, så ni kanske skulle försöka följa de officiella reglerna för GTFS och inte bara fokusera på Google? Ni har ju redan brytit mot dem genom två dåliga förändringar, att införa en route för varje tur för pendeltåg och andra tåg, och att byta ut route_id vid varje uppdatering. För Västtrafiks busslinjer har ni av någon anledning vägrat att använda route_long_name helt och hållet och istället har ni obegripliga förkortningar som "Gul Ex", MarsEx, "OrustX" och "TEXP" (kan ni inte försöka vara konsekventa åtminstone...) Om ni inte vill använda både route_short_name och route_long_name kan ni mycket väl skriva "Pendeltåg 36" som route_long_name.
  • Ett av svaren ovan hänvisade till trafikverkets API.
    Jag har då hittat denna möjlighet:
    http://api.trafikinfo.trafikverket.se/Console?templateid=51656358b75dda13e085aa84
    (från sidan med länken "Kom igång - Användningsfall - Tidtabellsinformation för ett tåg " http://api.trafikinfo.trafikverket.se/Quickstart/Queries )

    Där kan man skicka med ett anrop för att t.ex. tåg 12739 (från GTFS-fältet trips.trip_short_name) med följande parameter:
    <EQ name="AdvertisedTrainIdent" value="12739" />
    Då returneras ett stort XML-resultat varifrån man kan extraehra tågnumret 36 från följande xml-element:
    <ProductInformation>36</ProductInformation>

    Om man ska köra ett sådant anrop för varje pendeltågs trip_short_name blir det dock väldigt många sådana anrop.
    Finns det något bättre sätt att erhålla en mappning mellan alla tågnummer och GTFS-fältet trips.trip_short_name ?

    Jag vill alltså kunna erhålla en tabell som mappar alla pendeltågsnummer (36,38 m.m.) med trip_short_name enligt nedan:
    trip_short_name,tågnummer
    12739,36
    12741,36        
    12207,38
    12211,38
    ...

  • Hej Tomas och Markus,

    Data för SLs pendeltåg får vi från Trafikverket. I deras leverans finns tågnummer, inte linjenummer. Data för t.ex. Roslagsbanan får vi från SL med linjenummer, inte tågnummer. Anledningen till att vi vill ta pendeltågen från Trafikverket är att trafiken finns för en mycket längre period än vad SL har i sin leverans. Att linjenumren inte finns för Pendeltågen är något som vi ser som en brist och funderar på hur vi kan lösa.

    Man får nog problem med att hämta linjenumret från Trafikverket. För vissa tåg som börjar gå i framtiden får man inte svar eftersom tjänsten enbart svarar för tågnummer som annonseras idag eller några dagar framåt.

    I grunden så kan man koppla nummerserier till SL enligt:
    Linje 35 - Tågnummer 125XX, 128XX, 25XX, 28XX
    Linje 36 - Tågnummer 126XX, 127XX, 26XX, 27XX
    Linje 37 - Tågnummer 24XX, 124XX
    Linje 38 - Tågnummer 122XX, 22XX

    Utöver detta finns insatståg med tågnummer 23XX, 123XX, 29XX och 129XX där linjenumret kan variera och byta i City. I dessa fall mappar alltså inte tågnumret till ett enda linjenummer. Detta gäller för nuvarande tågplan T17. Hur det kommer att bli för nästa år T18 vet ingen riktigt än.

    Tidigare hade vi en grov hopklumpning av trips till routes för tåg. Denna hopklumpning var baserad på trafikföretag och trafikslag, t.ex. alla SJ Snabbtåg i en enda route. Inte speciellt bra. Den tog vi bort vilket resulterade i att varje tågavgång blev en egen route. Detta reflekterar verkligheten, dvs det faktum att Sveriges tåg inte har något linjebegrepp, något som är lite besvärligt inte bara i detta sammanhang.

    Namnsättningen generellt inklusive Västtrafiks busslinjer ska förbättras genom att använda route_long_name mer och mer. Detta sker i samarbete med trafikföretagen som levererar data. Resultatet kommer att bli en mer konsekvent benämning.

    Trots att GTFS-specen tillåter att man anger både route_short_name och route_long_name är det typiskt så att en linje har ett enda nummer eller namn och det får vi trafikföretaget. Om det är långt hamnar det i route_long_name, annars i route_short_name.

    Tobias
    Team Trafiklab

Kommentera eller skriv ett nytt inlägg

Ditt namn och inlägg kan ses av alla. Din e-post visas aldrig publikt.