Co udostępniamy
- Rozkład jazdy każdego miasta jako jeden plik GTFS (ZIP), budowany na nowo po każdej zmianie rozkładu.
- Pozycje pojazdów (VehiclePositions) i opóźnienia (TripUpdates) w GTFS-RT, z tymi samymi identyfikatorami co w pliku GTFS.
- Katalog wszystkich plików w JSON: adresy, wersja, rozmiar, daty ważności i źródło pozycji.
- Planer podróży z przesiadkami: połączenia między dwoma punktami według rozkładu.
Miasta i pliki
Daty ważności i rozmiary plików są w katalogu JSON.
GPS: pozycje z danych przewoźnika na żywo. Według rozkładu: położenie wyznaczone z rozkładu jazdy, bez GPS. Tylko pociągi: miasto nie publikuje opóźnień, są tylko opóźnienia pociągów regionalnych.
Jak pobierać
Katalog wszystkich plików
curl -s https://api.przesiadka.com/open/v1/feedsPlik GTFS tylko wtedy, gdy się zmienił
Odpowiedź ma nagłówek ETag (to samo co feed_version w feed_info.txt). Wyślij go w If-None-Match: bez zmian dostaniesz 304 i nic nie pobierzesz.
curl -sI https://api.przesiadka.com/open/v1/feeds/poznan/gtfs.zipcurl -s -o poznan.zip -w '%{http_code}\n' -H 'If-None-Match: "<ETag>"' https://api.przesiadka.com/open/v1/feeds/poznan/gtfs.zipPozycje pojazdów i opóźnienia
Pliki protobuf GTFS-RT (FULL_DATASET), np. do odczytu biblioteką gtfs-realtime-bindings. Pobieraj nie częściej, niż mówi nagłówek Cache-Control.
curl -s -o vehicle-positions.pb https://api.przesiadka.com/open/v1/feeds/poznan/vehicle-positions.pbPlaner podróży
Połączenia między dwoma punktami według rozkładu, z przesiadkami i dojściami pieszymi: do czterech propozycji, każda z odcinkami pieszymi i przejazdami (linia, kierunek, przystanki, czasy w sekundach Unix i przebieg na mapie).
| Parametr | Znaczenie |
|---|---|
fromLat, fromLon | Początek: szerokość i długość geograficzna (WGS84). |
toLat, toLon | Cel. |
departAt | Odjazd nie wcześniej niż, w sekundach Unix. Domyślnie teraz. |
arriveBy | Przyjazd najpóźniej o, w sekundach Unix, zamiast departAt. |
datasetId | Miasto (np. krakow). Domyślnie to, w którego obszarze leżą oba punkty. |
curl -s 'https://api.przesiadka.com/open/v1/journeys?fromLat=52.4064&fromLon=16.9252&toLat=52.4010&toLon=16.9530'Limity
Bez klucza limity liczymy dla adresu IP, z kluczem dla klucza. Po ich przekroczeniu odpowiedź to 429 z nagłówkiem Retry-After; każda odpowiedź ma nagłówki X-RateLimit-Limit, -Remaining i -Reset.
| Adres i co zwraca | Bez klucza | Z kluczem | Jak często |
|---|---|---|---|
/ | 60 na godzinę | 600 na godzinę | Wystarczy co kilka minut. |
/ | 30 na godzinę | 300 na godzinę | Wysyłaj If-None-Match z ETag: bez zmian odpowiedź 304 bez pliku. |
/ | 60 na minutę | 600 na minutę | Nie częściej niż Cache-Control: max-age (3 s w Poznaniu, 10 s w pozostałych miastach). |
/ | 60 na minutę | 600 na minutę | Jak wyżej. |
/ | 10 na dobę | 1000 na dobę | Jedno zapytanie to jedno wyszukanie połączeń. |
Pełny opis odpowiedzi: dokumentacja API (OpenAPI: openapi.json, sekcja open-data).
Klucz API
Bez klucza dane są do wypróbowania: limity są małe, bo serwer jest mały. Aplikacji, portalowi albo analizie, która potrzebuje więcej, dajemy bezpłatny klucz API.
Klucz wysyłasz w nagłówku X-API-Key. Limity liczą się wtedy dla klucza, a nie dla adresu IP, więc działa z każdego serwera. Nieznany klucz to odpowiedź 401.
Poproś o klucz
curl -s -H 'X-API-Key: <klucz>' 'https://api.przesiadka.com/open/v1/journeys?fromLat=52.4064&fromLon=16.9252&toLat=52.4010&toLon=16.9530'Co jest w danych
- Jedno miasto to jeden plik: części od kilku organizatorów są scalone (Kraków: autobusy i tramwaje MPK oraz Mobilis, Trójmiasto: ZTM w Gdańsku i ZKM w Gdyni, Warszawa: ZTM i WKD), a przystanek, który obie części opisują osobno, jest jednym przystankiem.
- Pociągi regionalne (m.in. Polregio, Koleje Wielkopolskie, Koleje Śląskie, Koleje Mazowieckie, SKM, ŁKA) są w pliku miasta: każdy pociąg zatrzymujący się w jego obszarze, z całą trasą. Stacja to jeden przystanek, a linia dwóch przewoźników (np. PKM1, SKA2) to jedna linia. Pociągów dalekobieżnych nie ma.
- Poprawki przy imporcie: kierunek kursu z nazwy ostatniego przystanku tam, gdzie go brak (Gorzów Wielkopolski, Częstochowa), numer linii z długiej nazwy (Białystok), podstawowe typy tras zamiast rozszerzonych (Trójmiasto) i własny kolor linii WKD, który w danych miał 163 linie autobusowe (Warszawa).
- Identyfikatory części mają prefiksy (t:, m:, gdy:, wkd:, kol:), także w GTFS-RT, a przystanki dołączone do innego przystanku mają w GTFS-RT jego identyfikator: pozycje i opóźnienia pasują do pliku GTFS bez żadnych przeliczeń.
Czego w danych nie ma
- Warszawa, Kraków i Trójmiasto: plik obejmuje dni od wczoraj do jutra, bo tyle trzyma serwer. Katowice: rozkład na dziś (ZTM GZM publikuje plik na każdy dzień). Po dłuższy horyzont sięgnij do plików organizatorów.
- W Białymstoku, Częstochowie, Gorzowie Wielkopolskim, Bochni i Wałbrzychu pozycje pojazdów wyznacza rozkład jazdy, nie GPS: katalog podaje wtedy source „schedule”, a odpowiedź nagłówek X-Position-Source: schedule. Pociągi, metro, WKD i autobusy Gdyni, które mapa pokazuje według rozkładu obok pojazdów z GPS, nie trafiają do pozycji pojazdów.
- Opóźnienia (TripUpdates) to dane przewoźników i PKP PLK (przez mkuran.pl) bez naszych przeliczeń.
- Plik nie zawiera przesiadek (transfers.txt), taryf, ścieżek na stacjach, poziomów ani tłumaczeń. Metro w Warszawie jest w postaci pojedynczych kursów zamiast frequencies.txt.
Licencje i atrybucja
Pliki to dane przewoźników i organizatorów transportu, przetworzone przez Przesiadka.com: scalone części, połączone wspólne przystanki, prefiksy w identyfikatorach, pociągi regionalne wycięte dla obszaru miasta i poprawki opisane wyżej. Nie nadajemy im własnej licencji i nie dokładamy ograniczeń: każde miasto jest na warunkach swoich źródeł z tabeli.
Większość źródeł prosi o to samo, co pozwala zastrzec ustawa o otwartych danych (art. 15): podanie źródła, czasu wytworzenia i pozyskania danych oraz informacji, że zostały przetworzone. Źródła na licencji CC BY 4.0 wymagają też podania licencji i zaznaczenia zmian.
| Źródło | Dane | Warunki | Jak podać źródło |
|---|---|---|---|
| ZTM Poznań | Poznań: GTFS, GTFS-RT | Zasady korzystania z treści ZTM w Poznaniu: bezpłatnie i bez wniosku, bez logo Miasta Poznania i ZTM. | Zarząd Transportu Miejskiego w Poznaniu (ztm.poznan.pl/otwarte-dane), data ostatniej aktualizacji, informacja o przetworzeniu. |
| Miasto Stołeczne Warszawa, ZTM Warszawa | Warszawa: GTFS i pozycje pojazdów (przez mkuran.pl) | Warunki korzystania z danych ZTM Warszawa i z otwartych danych Warszawy: dozwolone udostępnianie przetworzonych danych, pod warunkiem ich aktualności. Przebiegi autobusów pochodzą z OpenStreetMap: licencja ODbL. | ZTM Warszawa; Miasto Stołeczne Warszawa (api.um.warszawa.pl) z czasem pobrania pozycji (nagłówek GTFS-RT); GTFS: Mikołaj Kuranowski (mkuran.pl); © autorzy OpenStreetMap; informacja o przetworzeniu. |
| Mikołaj Kuranowski (mkuran.pl): WKD | Warszawa: WKD | CC0 1.0. | Nie wymaga; podajemy: WKD, GTFS: Mikołaj Kuranowski. |
| Zarząd Transportu Publicznego w Krakowie | Kraków: GTFS, GTFS-RT (MPK, Mobilis) | CC BY 4.0. | Zarząd Transportu Publicznego w Krakowie, licencja CC BY 4.0, informacja o zmianach. |
| Miasto Łódź | Łódź: GTFS, GTFS-RT | Do potwierdzenia: przy plikach nie ma nazwy licencji; portal otwarte.miasto.lodz.pl mówi o licencji otwartej, także do celów komercyjnych, z obowiązkiem podania źródła. | Miasto Łódź (otwarte.miasto.lodz.pl). |
| Zarząd Transportu Miejskiego w Gdańsku | Trójmiasto: GTFS, GTFS-RT Gdańska | CC BY i regulamin portalu Otwarte Dane Gdańsk: dane trzeba utrzymywać aktualne. | Zarząd Transportu Miejskiego w Gdańsku, http://www.ztm.gda.pl/otwarty_ztm, data wytworzenia i pozyskania. |
| Zarząd Dróg i Zieleni w Gdyni | Trójmiasto: GTFS Gdyni (ZKM) | Creative Commons Attribution (CC BY). | Zarząd Dróg i Zieleni w Gdyni, licencja CC BY, informacja o zmianach. |
| Zarząd Transportu Metropolitalnego | Katowice i Metropolia GZM: GTFS, GTFS-RT | CC BY 4.0. | Zarząd Transportu Metropolitalnego, licencja CC BY 4.0, informacja o zmianach. |
| Zarząd Białostockiej Komunikacji Miejskiej | Białystok: GTFS | Do potwierdzenia: strona danych nie podaje warunków, a ogólne warunki Miasta Białegostoku zastrzegają, że pozyskanej treści nie można modyfikować. | Prezydent Miasta Białegostoku, data wytworzenia lub pozyskania. |
| MZK Gorzów Wielkopolski | Gorzów Wielkopolski: GTFS (przez mkuran.pl) | CC0 1.0 (mkuran.pl); MZK nie podaje warunków. | MZK Gorzów Wielkopolski, GTFS: Mikołaj Kuranowski (mkuran.pl). |
| MPK Częstochowa, RPK Bochnia, MZUK Wałbrzych | Częstochowa, Bochnia, Wałbrzych: GTFS (przez Otwarte Dane Transportowe) | – | Przewoźnik miasta, GTFS: Otwarte Dane Transportowe (odt.org.pl). |
| PKP Polskie Linie Kolejowe S.A., Koleje Mazowieckie | Pociągi regionalne we wszystkich miastach: rozkład i opóźnienia (przez mkuran.pl) | Warunki ponownego wykorzystywania PKP PLK i Kolei Mazowieckich; dane mają charakter informacyjny. Opóźnienia od mkuran.pl: CC BY 4.0. | PKP Polskie Linie Kolejowe S.A., Koleje Mazowieckie, czas wytworzenia i pozyskania, informacja o przetworzeniu; GTFS: Mikołaj Kuranowski (mkuran.pl), opóźnienia na licencji CC BY 4.0. |
Jeśli korzystasz z tych danych
- Podaj źródła miasta z tabeli i informację, że dane przetworzył Przesiadka.com (i Ty, jeśli przetwarzasz je dalej). Czas wytworzenia pliku podaje nagłówek Last-Modified i katalog (dataUpdatedAt), czas pozyskania to chwila pobrania; w GTFS-RT jest to znacznik czasu w nagłówku feedu.
- Nie dokładaj ograniczeń do danych na licencji CC BY i nie sugeruj, że przewoźnicy lub organizatorzy popierają Twoją usługę. Nie używaj ich logo.
- Przebiegi autobusów w pliku Warszawy (shapes.txt) pochodzą z OpenStreetMap i są na licencji ODbL: udostępniając je dalej, zachowaj ODbL i podpis „© autorzy OpenStreetMap”.
- Utrzymuj dane aktualne (wymagają tego ZTM Warszawa i ZTM w Gdańsku): pobieraj plik ponownie, gdy zmieni się ETag.
- Dane mają charakter informacyjny i są udostępniane bez gwarancji. Za błędy powstałe przy naszym przetwarzaniu odpowiada Przesiadka.com, nie przewoźnik.
- Oryginalne pliki źródeł są w katalogu, w polu sources każdego miasta.