GTFS få ut nästa stop från trip updates eller liknande
Hej!
Jag använder GTFS api:et med static och realtime positions och trip updates. Trip updates ger en lista med stop times och dess stop_sequence. Det verkar som att stop som är passerade utesluts från listan men det är med viss fördröjning. Mitt mål är att visa bussar som är på väg till ett visst stop. Därför undrar jag om och hur man kan ta reda på var en buss befinner sig i förhållande till stoppen. Jag antar att en lösning är att kolla var bussen ligger på rutten/shapen och jämföra koordinaterna, men jag har hoppats på en enklare lösning. Jag har lagt märke till att i SL appen så går det att se när bussen är mellan två stationer och när den är på en station.
Tack för hjälpen!
Jag använder GTFS api:et med static och realtime positions och trip updates. Trip updates ger en lista med stop times och dess stop_sequence. Det verkar som att stop som är passerade utesluts från listan men det är med viss fördröjning. Mitt mål är att visa bussar som är på väg till ett visst stop. Därför undrar jag om och hur man kan ta reda på var en buss befinner sig i förhållande till stoppen. Jag antar att en lösning är att kolla var bussen ligger på rutten/shapen och jämföra koordinaterna, men jag har hoppats på en enklare lösning. Jag har lagt märke till att i SL appen så går det att se när bussen är mellan två stationer och när den är på en station.
Tack för hjälpen!
Följ inlägget
2
följare
En tripplet av GTFS-RT position, trip update, och statisk går inte att undvika enligt mig, sen exakt hur man kombinerar dom får man bygga upp och testa sig fram till en del. Att täcka alla corner case av dålig data, fördröjningar osv är nästan omöjligt men man behöver iterativt förbättra.
TripUpdates innehåller inte passerade hållplatser som bekräftades som passerade för mer än 10 minuter tillbaka. Vill man se alla hållplatser för en trip måste man göra detta med hjälp av den statiska data (stop_times).
För att visa vart bussen är på en tidslinje mellan två hållplatser så kan man som du nämner kolla vart på shapen bussen befinner sig, och hur långt det är i förhållande till avståndet mellan hållplatserna. Alternativt kan du använda realtidsdatat, och flytta fram bussen baserat på hur mycket tid som har gått i förhållande till hur lång tid det tar att köra mellan hållplatserna (inklusive förseningar). På det sättet kan du åstadkomma något liknande utan den komplexiteten och belastningen som shape-matchningen innebär.
Hälsningar,
Bert