Skąd biorą się dane
Źródła
Wszystkie dane pochodzą z publicznych API i oficjalnych plików GTFS organizatorów. Serwis niczego nie zgaduje ani nie uzupełnia własnymi szacunkami — pokazuje to, co udostępnia źródło, i oznacza to, czego nie da się traktować jak pomiaru.
| dane | miasto | uwagi |
|---|---|---|
| odjazdy z przystanków | Gdańsk, Gdynia | podstawa tablicy |
| wspólne słupki ZTM/ZKM | Gdańsk, Gdynia | oficjalne mapowanie łączy oba feedy w jedną tablicę |
| pozycje GPS pojazdów | Gdańsk, Gdynia | Gdańsk podaje prędkość i odchylenie od rozkładu; Gdynia (GTFS-RT) tylko położenie — prędkość i kierunek doliczamy sami, patrz niżej |
| baza taboru (wyposażenie) | tylko Gdańsk | klimatyzacja, niska podłoga, rampa, uchwyty |
| rozkłady i trasy (GTFS) | Gdańsk, Gdynia | z nich wiemy, gdzie linia zaczyna i kończy bieg |
przebieg trasy na mapie (GTFS shapes.txt) | Gdańsk, Gdynia | oś jezdni narysowana przez przewoźnika |
| rozkład kolejowy GTFS | SKM Trójmiasto | planowe odjazdy pociągów |
| opóźnienia i perony kolei | PKP PLK (otwarte dane kolejowe) | SKM, POLREGIO i PKP Intercity; opóźnienie w minutach, peron, odwołanie przejazdu |
| rozkład autobusowy GTFS | Słupsk, Tczew | planowe odjazdy, bez otwartego API czasu rzeczywistego |
Źródła rozkładów planowych: PKP SKM w Trójmieście, Zarząd Infrastruktury Miejskiej w Słupsku oraz Urząd Miejski w Tczewie (Komunikacja Miejska Tczew). Przy tablicy zawsze widnieje oznaczenie „rozkładowy", żeby plan nie udawał pomiaru na żywo.
Na tablicach kolejowych oznaczenie „rozkładowy" ZOSTAJE, mimo że od 9 września 2026 dokładamy do nich dane PKP PLK: podstawą jest nadal rozkład, a informacja o ruchu dochodzi tam, gdzie jest. Trzy stany mówią różne rzeczy i nie wolno ich mieszać: „o czasie" znaczy, że przewoźnik potwierdził przejazd bez odchylenia, „+N min" to zmierzone opóźnienie, a brak dopisku znaczy „nie wiemy" — najczęściej dlatego, że pociąg jeszcze nie wyruszył. Przy pociągu w drodze pokazujemy ostatni pomiar z jego trasy (podpowiedź mówi, z której stacji), a nie prognozę na naszą stację — bo prognozy w tych danych nie ma.
Jak często
Odjazdy dla oglądanych przystanków odświeżają się co kilka sekund. Niezależnie od tego serwis obserwuje wszystkie przystanki obu miast, żeby statystyki nie zależały od tego, na co ktoś akurat patrzy — inaczej historia linii zaczynałaby się w chwili, gdy pierwszy użytkownik ją otworzy.
Katalog przystanków i oficjalna lista wspólnych słupków ZTM/ZKM są sprawdzane co godzinę. Wspólny słupek jest pokazywany raz, a jego tablica łączy odjazdy obu organizatorów. Chwilowa awaria pliku mapowania nie rozdziela już wcześniej rozpoznanych par.
GTFS SKM jest pobierany raz na dobę. Oficjalne strony Słupska i Tczewa zmieniają adres ZIP-a przy zmianie rozkładu, dlatego serwis co 12 godzin ponownie odczytuje stronę „Otwarte dane", odnajduje aktualny plik i buduje indeks. Nieudana aktualizacja nie usuwa ostatniego poprawnego rozkładu; próba jest ponawiana z rosnącym odstępem.
Jak świeża jest pozycja pojazdu na mapie
Pod mapą pojazdu widnieje „pomiar N s temu" i ta liczba prawie nigdy nie schodzi do zera. Nie jest to usterka — składają się na nią trzy odcinki, z których dwa pierwsze nie są po naszej stronie:
- Pojazd → miasto. Znacznik czasu przy pozycji jest starszy od chwili opublikowania
o kilka sekund.
- Publikacja co ~22 s. Miasto wystawia nową migawkę mniej więcej co dwadzieścia
dwie sekundy. Między publikacjami nowszej pozycji po prostu nie ma — nikt jej nie ma.
- Nasze pobranie i pokazanie. Ten odcinek staramy się mieć jak najkrótszy: zamiast
odpytywać w stałym rytmie i trafiać w losową fazę cyklu miasta, planujemy każde kolejne pobranie na chwilę po spodziewanej publikacji. Zmierzone na żywym źródle: migawka ma przy odbiorze 6 s zamiast 18 s (mediana), przy tej samej liczbie zapytań.
W praktyce znaczy to, że liczba pod mapą krąży mniej więcej między 11 a 33 sekundami i rośnie o sekundę na sekundę, dopóki nie przyjdzie nowa migawka. Pokazujemy ją wprost, zamiast zaokrąglać do „przed chwilą", bo przy pojeździe jadącym 50 km/h dwadzieścia sekund to ćwierć kilometra — i lepiej, żeby było to widać.
Prędkość i kierunek pojazdu — pomiar czy szacunek
Zależy od miasta, więc oznaczamy to wprost.
Gdańsk podaje w swoim feedzie prędkość, azymut i odchylenie od rozkładu. Te wartości pokazujemy tak, jak przyszły — to pomiar z pojazdu.
Gdynia publikuje w GTFS-RT samo położenie: ani prędkości, ani kierunku (sprawdzone: w żadnym z blisko dwustu rekordów tych pól nie ma). Liczymy je więc z dwóch kolejnych położeń tego samego pojazdu — z przebytej drogi i czasu między pomiarami. To szacunek i dlatego pokazujemy go z tyldą: „~12 km/h". Tylda znaczy „tyle wyszło z rachunku", nie „tyle pokazał licznik w autobusie".
Dwie rzeczy warto o tym szacunku wiedzieć:
- Jest średnią z około minuty, bo feed Gdyni odświeża się co ~60 s (Gdańsk co ~22 s).
Autobus, który stał na przystanku i świetle, a potem przejechał 300 m, wychodzi w takim rachunku wolniejszy niż jego prędkość w ruchu. Mediana dla jadących gdyńskich pojazdów to około 20 km/h i to jest prędkość komunikacyjna, nie chwilowa.
- Postój odróżniamy od braku danych. Gdy przyjdzie nowy pomiar, a pojazd się nie
ruszył, pokazujemy „stoi" — bez tyldy, bo to obserwacja. Gdy feed powtórzy tę samą migawkę (co przy pytaniu częstszym niż publikacja zdarza się regularnie), zostawiamy ostatni wynik zamiast ogłaszać, że pojazd stanął.
Kierunek strzałki przy gdyńskim znaczniku pochodzi z tego samego rachunku, więc pojazd dostaje ją dopiero po drugim pomiarze — na pierwszym znaczniku po wejściu na mapę strzałki nie ma.
Skąd bierze się linia trasy na mapie
Przebieg trasy rysujemy z pliku shapes.txt obu miast — to oś jezdni narysowana przez przewoźnika, a nie ślad wyliczony z pozycji GPS pojazdów. Różnica jest istotna: odczyty GPS przychodzą co ~22 s, co przy typowej prędkości daje punkty oddalone w medianie o 88 m, a na szybkich odcinkach nawet o 480 m. Trasa odtworzona z takich punktów ścinałaby łuki dokładnie tam, gdzie łuk jest.
Feed opisuje każdy wariant kursu osobno: skrócenie do pętli, objazd nocny, wjazd do zajezdni. Gdańsk ma przez to 1353 warianty na 97 linii, Gdynia 3101 na 88. Pokazujemy najdłuższy przebieg w danym kierunku, bo to on zawiera pozostałe jako swoje odcinki — pytanie „którędy jedzie ta linia" dotyczy korytarza, a nie pojedynczego kursu.
Rysujemy jedną linię naraz. Przez kadr mapy wielkości 1,8 × 1,2 km w centrum Gdańska przechodzi 657 wariantów tras z 49 linii, razem ponad 45 tysięcy punktów. Narysowane jednocześnie nie są mapą, tylko plamą.
Czego w danych NIE ma
Kilka rzeczy sprawdzonych i potwierdzonych jako niedostępne:
- Zajętość pojazdu — ani w danych Gdańska, ani Gdyni nie ma informacji, ile osób
jedzie. Sprawdzane okresowo, na razie bez zmian.
- Numer kierowcy — nie jest publikowany. Pole
vehicleServiceto numer brygady,
czyli oznaczenie zadania przewozowego, nie osoby.
- Opóźnienia pojazdów Gdyni — feed GTFS-RT Gdyni zawiera wyłącznie położenia
(vehiclePositions). Odpowiedników z opóźnieniami (tripUpdates, alerty) pod analogicznymi adresami nie ma, więc przy gdyńskich pojazdach nie pokazujemy odchylenia od rozkładu. Pozycje są natomiast pokazywane od 9 września 2026.
- Kursy-widma dla Gdyni — pozycje gdyńskich pojazdów zapisujemy do bazy
analitycznej od 9 września 2026, ale nie da się ich powiązać z konkretnym odjazdem: tablice odjazdów identyfikują pojazd numerem z API przewozowego, a feed GTFS-RT numerem taborowym z karoserii. To dwie różne przestrzenie nazw, więc gdyńskie kursy zostają w klasie „poza GPS" — wyjątkiem są gdyńskie przystanki obsługiwane pojazdem gdańskim (np. linia 171). Statystyki mówią o tym wprost w swoich zastrzeżeniach.
- Sekcja GPS w statystykach opisuje Gdańsk — prędkość gdyńskich pojazdów jest
naszym wyliczeniem, a nie pomiarem, i ten feed nie podaje ani jakości sygnału, ani identyfikatora kursu. Wspólna liczba byłaby średnią z pomiaru i z szacunku.
Ikony wyposażenia
Ikony przy pojeździe pochodzą z bazy taboru i mówią, w co pojazd jest wyposażony — nie, czy dana rzecz jest w tej chwili włączona. Ikona klimatyzacji nie znaczy, że klimatyzacja działa; znaczy, że pojazd ją ma. Ta różnica jest opisana także w dymku przy każdej ikonie.