Välkommen till Trafiklab:s användare- och supportforum! Ställ frågor, rapportera problem och hjälp oss med förslag och idéer!
Vid felrapporter ber vi dig inkludera exakt API-namn och om möjligt ett exempelanrop för att underlätta felsökningen. Glöm inte att ta bort din API-nyckel när du delar ditt exempelanrop.
Undrar du hur du får tillgäng Trafiklabs data? Läs vår introduktion här: https://www.trafiklab.se/hur-gor-jag
Welcome to Trafiklab's user and supportforum. Ask questions, report issues and help us improve with suggestions and ideas!
If you open a new issue, please always include the exact API you're talking about, and, if applicable, include a sample request so we can check if contains the right parameters. Don't forget to remove your API keys when sharing example requests.
Välkommen till Trafiklab:s kund- och supportforum! Ställ frågor, rapportera problem och hjälp oss med förslag och idéer!
Både statiskt och realtidsdata för busslinjen finns i KoDA-arkivet:https://www.trafiklab.se/api/trafiklab-apis/koda/
KoDa är ett lager där GTFS och GTFS-RT data från Trafiklab (GTFS Regional) sparas för just dessa ändamål.
Varje dag publicerar vi planerade tidtabellsdata som GTFS på Trafiklab. I dessa filer ingår data från 3 dagar tillbaka upp till 6 månader i framtiden.
Varje 15e sekund publicerar vi realtidsdata som GTFS-RT på Trafiklab. Realtidsdata består av ServiceAlerts, TripUpdates och VehiclePositions, där TripUpdates innehåller avvikelser i tidtabellen jämfört med den planerade GTFS data. De kan se ut såhär:
trip_update {
trip {
trip_id: "14010000668246520"
start_date: "20250205"
schedule_relationship: SCHEDULED
}
stop_time_update {
stop_sequence: 16
arrival {
delay: -74
time: 1738762126
uncertainty: 0
}
departure {
delay: 26
time: 1738762226
uncertainty: 0
}
stop_id: "9022001005151001"
}
}
Där fordonet kommer vara 74 sekunder tidigt vid den 16e hållplatsen på tur 14010000668246520, och att den kommer avgå 26 sekunder sent. För att veta vilken tur och hållplats det handlar om måste man kolla i de statiska data. ”Uncertainty: 0” tyder på att den här ankomsten/avgången har skett, och att det är de slutliga värden (vad den verkliga förseningen blev). Saknas ”uncertainty: 0” så är det en prognos.
Genom KoDa kan ni ladda ner båda statiska filer och realtidsfiler per dag. Statiska filer räcker nog med 1 fil per vecka, så ofta ändras inte de data. Realtidsfiler kan ni ladda ner paketerat per dag, där kan ni läsa varje fil för att se vad prognoserna var var 15e eller 30e sekund (minns inte exakt hur ofta KoDa sparar denna data).
Vill ni heller analysera trafiken baserat på GPS-positioner finns även denna data, både ”live” för trafik som är ut och kör nu samt historiskt data i KoDa arkivet. GPS data uppdateras varannan sekund.
GTFS-RT filer är i protobuf-formatet (så inte det fina JSON-formatet jag klistrade in ovan) men går lätt att läsa genom färdiga bibliotek i tex Python, där ni kan översätta datat till vilket format ni än vill. Även för GTFS finns det nog bibliotek i Python.
För att komma åt KoDa skapar ni en nyckel på https://developer.trafiklab.se . Sen kan ni ladda ner tex TripUpdates genom en sån här anrop:
https://api.koda.trafiklab.se/KoDa/api/v2/gtfs-rt/otraf/TripUpdates?key=KEY_HERE&date=2025-01-05
Första gången ni gör ett anrop kommer resultatet antagligen se ut såhär:
{"message":"Request received. Data for the requested operator, feed and date is being prepared. Send an identical request to check the status every 30s until the file is ready."}
Ni behöver anropa API:et var 30e sekund med samma länk för att veta när filen är klart. Så länge filen inte är klart får ni http kod 202 tillbaka, när filen är färdigställd får ni http kod 200 tillbaka tillsammans med filen.
Det är väldigt viktigt att man inte försöker ladda ner mer än 1 fil samtidigt, för annars kan KoDa-servern bli överbelastad och startas hela processen om från början (eller hakar det upp sig). Det kan ta lite tid att ladda ned all data för en hel månad, men ni kan nog ladda ner en fil åt gången i backgrunden medan att ni testar med första filerna,
Hör av er om ni har några till frågor.