Bussnummer med den regionala GTFS-RT hämtningen
Hejsan, jag använder mig utav https://opendata.samtrafiken.se/gtfs-rt/skane/VehiclePositions.pb?key={apiKey} apiet.
jag får ut
FeedEntity {
id: '218788623',
vehicle: VehiclePosition {
trip: TripDescriptor {
tripId: '121120000307556479',
scheduleRelationship: 0
},
position: Position {
latitude: 55.85041046142578,
longitude: 13.651667594909668,
bearing: 255,
speed: 10.600000381469727
},
timestamp: Long { low: 1660316110, high: 0, unsigned: true },
vehicle: VehicleDescriptor { id: '9031012002402861' }
}
}
Min första fråga är, finns det specifikation för vad de olika objekten/properties betyder?
Min andra fråga blir besvarad om det nu finns specifikation på de olika fälten. Men frågan är hur jag kan få ut bussnummer på de olika bussarna runt skåne. För att veta vilken buss det är jag tar ut positioner för.
Mvh en väldigt glad användare av trafiklabs apier 😀
jag får ut
FeedEntity {
id: '218788623',
vehicle: VehiclePosition {
trip: TripDescriptor {
tripId: '121120000307556479',
scheduleRelationship: 0
},
position: Position {
latitude: 55.85041046142578,
longitude: 13.651667594909668,
bearing: 255,
speed: 10.600000381469727
},
timestamp: Long { low: 1660316110, high: 0, unsigned: true },
vehicle: VehicleDescriptor { id: '9031012002402861' }
}
}
Min första fråga är, finns det specifikation för vad de olika objekten/properties betyder?
Min andra fråga blir besvarad om det nu finns specifikation på de olika fälten. Men frågan är hur jag kan få ut bussnummer på de olika bussarna runt skåne. För att veta vilken buss det är jag tar ut positioner för.
Mvh en väldigt glad användare av trafiklabs apier 😀
Följ inlägget
0
följare
Du hittar specifikationen på GTFS-RT formatet här: https://developers.google.com/transit/gtfs-realtime. Formatet används tillsammans med GTFS, där alla planerade data finns. GTFS-RT beskriver bara avvikelser från dessa planerade data.
I dit exempel finns fordonet på Trip 121120000307556479 , som beskrivs i GTFS-filen, sig vid koordinaterna 55.85041046142578, 13.651667594909668.
I Skånes GTFS fil hittar vi Trip 121120000307556479 som körs på Route 9011012040100000. Kollar vi då Route 9011012040100000 i samma GTFS fil ser vi att det är SkåneExpressen Kristianstad - Malmö.
GTFS filerna finns såklart också publikt på Trafiklab, och dokumentation för dem hittar du här https://www.trafiklab.se/docs/using-trafiklab-data/using-gtfs-files/ och här https://developers.google.com/transit/gtfs.
Säg till om vi kan hjälpa med något mer.
Hälsningar,
Bert
Jag förstår vad du menar och det makes sense också. Men jag förstår nog inte riktigt med vad du menar med "Skånes GTFS fil", missar jag något här eller är det några fler anrop jag behöver göra? Jag trodde det skulle räcka med det anropet jag redan gör.
Mvh Besim 😀
Skånes statiska GTFS fil kan du ladda ner från vår GTFS Regional Static API. Det är ett extra anrop som du måste göra. Filen uppdateras bara 1x varje dag, så man laddar ner filen 1 gång och använder det med alla realtidsfiler för operatören. Mer information hittar du här: https://www.trafiklab.se/api/trafiklab-apis/gtfs-regional/static/
Hälsningar
Bert
Här har du 2 stycken exempel från vad jag får för data av den regionala realtime hämtningen:
FeedEntity {
id: '79477499',
vehicle: VehiclePosition {
position: Position {
latitude: 55.60600280761719,
longitude: 13.04666805267334,
bearing: 8,
speed: 0
},
timestamp: 1660815039,
vehicle: VehicleDescriptor { id: '9031012002204377' }
}
}
FeedEntity {
id: '79478007',
vehicle: VehiclePosition {
trip: TripDescriptor {
tripId: '121120000309312611',
scheduleRelationship: 0
},
position: Position {
latitude: 55.85551452636719,
longitude: 13.671270370483398,
bearing: 222,
speed: 0
},
timestamp: 1660815039,
vehicle: VehicleDescriptor { id: '9031012002402861' },
occupancyStatus: 1
}
}
Det första objektet innehåller inte någon "tripId" data. Och det finns fler som det objektet. Hur ska man förhålla sig till det isåfall? Alltså hur vet jag vad det är för rutt och bussnamn på denna entiteten?
Mvh Besim 😀
Detta kan bero på två saker:
- Bussen är inte aktiv på en linje just nu (på väg från/till depån, parkerad på depån, ...)
- Bussen är en extrainsatt förstärkningstur som inte var planerad. I detta fall finns det en route_id och start_date, men finns det ingen trip_id eftersom att avgången inte var planerad i tidtabellen.
Hälsningar,
Bert
Jag ser att det regionala RT apiet uppdateras varannan sekund när det gäller vehicleUpdates.
Hur är det med det statiska API'et? Jag ser att det uppdateras en gång per dag, men är det någon fast tid det uppdateras?
Mvh Besim 😀
Statiska filerna uppdateras en gång per dag på morgonen, men det finns ingen exakt tid. Uppdateringar brukar ske mellan kl 2 och kl 7.
Hälsningar,
Bert
Jag kollar nämligen livepositioner på Regionbussar i staden Veberöd, Skåne. Och har jag mitt program körandes i låt oss säga två dagar så skapas det nya entitetID's, vehicleId's och tripId's. Vilket gör det svårt för mig att urskilja de olika bussobjekten mot varandra.
Vilket resulterar i att jag skapar nya objekt i min databas hela tiden. Medans jag helst hade velat kunna uppdatera mina bussar när det har blivit en ny dag istället för att skapa nya buss noder så att säga..
Hoppas min fråga är tydlig nog att kunna svara på..
Mvh Besim 😀
Du måste läsa in de statiska GTFS-data varje dag. När du läser in ny statisk GTFS data kan du kasta bort de gamla id:er.
Hälsningar,
Bert