Drugim problemem jest to, że starsze autobusy (np. BU851-BU885, DC701-DC731 itd.) pojawiają się w danych GTFS Realtime dopiero w godzinach przedpołudniowych. Oznacza to, że rano nie mamy informacji o pozycji sporej części pojazdów.
Z moich obserwacji wynika, że brakujące pojazdy pojawiają się w VehiclePositions_A.pb około godziny 9:00. Rozmiar pliku rośnie z ~29 kB do ~34 kB.
Edit: Dzisiaj to już w ogóle dramat, część autobusów w GTFS Realtime jest totalnie rozjechana (np. DA110 na 139 zamiast 137, BU895 na 134 zamiast 138). Prawdopodobną przyczyną jest użycie identyfikatorów ze starego rozkładu GTFS Static (dzisiaj była aktualizacja rozkładów jazdy). Ponadto w GTFS Static nie ma linii 702.
Kolejnym problem jest "znikanie" autobusów z GTFS Realtime. Pewne grupy pojazdów (np. DC7xx, BU8xx) są widoczne w VehiclePositions_A.pb powiedzmy o 12:00 i 12:02, potem o 12:04 ich nie ma, potem o 12:06 znowu są i tak w kółko... Oczywiście, można zastosować prosty debouncing po stronie klienta, ale jest to niewygodne i chyba nie o to chodzi...
A patrząc tak ogólnie - największym problemem GTFS Realtime jest niska częstotliwość odświeżania i opóźnienie danych. Plik VehiclePositions_A.pb jest aktualizowany średnio co 2 minuty (podczas gdy TTSS co około 10 sekund), a dane już na starcie są przedawnione o 1-2 minuty. Nie jest to więc pozycja pojazdu na żywo, tylko raczej historyczna sprzed 3-4 minut (co przekłada się na odległość 1-2 przystanków - co osobiście potwierdziłem podczas przejażdżki, porównując pozycję GPS ze wskazaniem pozycji autobusu w aplikacji Google Maps, mogę podesłać zrzut ekranu). Być może właśnie to jest przyczyną dlaczego w aplikacji Jak dojadę większość autobusów "na żywo" wyświetla się jako opóźniona, co skutecznie uniemożliwia sensowne planowanie przesiadek (do których tak bardzo zachęca obowiązująca polityka organizatora komunikacji zbiorowej). Szczerze mówiąc nie wiem, co konkretnie stanowi tutaj ograniczenie - w końcu autobusy są wyposażone w nadajniki GPS, które mogłyby przesyłać pozycję nawet co kilka sekund. Być może problem tkwi w skryptach agregujących i przetwarzających dane - w nocy plik VehiclePositions_A.pb jest aktualizowany znacznie częściej i wydaje się, że czas między aktualizacjami jest wprost proporcjonalny do liczby aktywnych pojazdów.
Można narzekać w nieskończoność na forum internetowym, ale ja chciałbym wykorzystać swoje umiejętności i zaoferować pomoc. Jeśli ktoś z Was ma kontakt do osób zajmujących się GTFSem w MPK (bo chyba właśnie MPK jest odpowiedzialne za dane autobusowe, a ZTP chyba tylko je serwuje) - przekażcie proszę informację o tym i moim poprzednim poście. Po pierwsze, mogę opracować kompletną listę rzeczy, które wymagają uwagi, wraz z dokładnymi opisami oraz przypadkami testowymi. Po drugie, mogę pomóc w ulepszeniu istniejących lub stworzeniu nowych skryptów do przetwarzania pozycji autobusów, pro publico bono.
Analogiczną ofertę kieruję do Mobilisa – chcemy w końcu widzieć Wasze pojazdy na mapie

Słyszałem, że brak integracji z GTFS Realtime wynika z niekompatybilności systemów używanych przez Mobilis i MPK. Wydaje mi się, że samo udostępnianie pozycji pojazdów nie powinno być trudne - wystarczy jeden endpoint, który zwraca długość i szerokość geograficzną, numer linii i kierunek. Pokażcie w jakim formacie macie dane, a my zobaczymy co da się z tym zrobić. Można pisać do mnie przez forum albo na e-mail:
tomekzawadzki98+gtfs@gmail.com Mam nadzieję, że do usłyszenia!
Edit: 2022-10-18 16:20 - kokon.mpk.krakow.pl:3000 nie odpowiada, 18:50 - jednak żyje
