Dokumentace

Jak feedy konzumovat a co v nich čekat.

Endpointy

CestaTypCachePopis
GET /gtfs.zipapplication/zip1 h, ETag Statický feed. Přestavuje se jednou denně v noci.
GET /gtfs-rt.pbapplication/x-protobuf 15 s VehiclePositions a TripUpdates v jedné zprávě.
GET /gtfs-rt.jsonapplication/json Totéž pro ladění. Nepoužívat v provozu, formát není stabilní.
GET /vehicles.jsonapplication/json 15 s Vozidla s vyřešenými názvy zastávek a zpožděním. Není to standard — pro ten je tu /gtfs-rt.pb — ale ušetří konzumentovi držet celý jízdní řád jen kvůli zobrazení jedné polohy.
GET /healthzapplication/json Stáří feedů a poslední chyba. Vrací 503, když jsou data zastaralá.

Feed se obnovuje každých 15 sekund; častější dotazování nemá smysl.

curl -s https://…/gtfs-rt.pb -o gtfs-rt.pb
curl -s https://…/gtfs.zip -o gtfs.zip

Identifikátory

ID jsou odvozená z číslování DPMP, takže jsou napříč oběma feedy stabilní a čitelná.

TypTvarPříklad
StaniceS<číslo>S16 — Hlavní nádraží
NástupištěS<číslo>P<nástupiště>S16P2
LinkaL<číslo>L9
SpojL<linka>C<spoj>L9C115

Jízdní řády i realtime odkazují na nástupiště, ne na stanici. Stanice existuje jako parent_station, aby šlo nástupiště seskupit a rozumět přestupům mezi nimi.

Co ve feedu čekat

Zpoždění

Zpoždění se měří — sleduje se, kdy vůz projede zastávkou, a porovná se s jízdním řádem. Rozlišení je zhruba 15 sekund. Jakmile je změřeno, drží se po zbytek spoje konstantní: jízdní řády sice mají rezervu a vůz ji často dožene, ale předpovídat doháněni by znamenalo model, ne měření.

Vozidlo, u kterého zpoždění změřené není — typicky čeká na výchozí zastávce a ještě nevyjelo — dostane VehiclePosition, ale žádný TripUpdate. Nulové zpoždění by tvrdilo, že jede přesně, což z dat nevyplývá. Takových vozidel bývá kolem 40 %.

Kalendář

Pět služeb: pracovní dny, sobota, neděle, víkend a denně. Státní svátky se přepínají na nedělní provoz přes calendar_dates.txt, včetně pohyblivých Velikonoc.

Geometrie tras

Zdrojové API geometrii nemá, takže shapes.txt vzniká zroutováním posloupnosti zastávek přes Valhallu nad daty OpenStreetMap, autobusovým profilem. Spoje sdílejí trasy — 2 728 spojů se scvrkne na 218 různých posloupností — takže shape má každý spoj.

shape_dist_traveled je v metrech a je vyplněné jak v shapes.txt, tak v stop_times.txt. Zastávky leží od trasy v mediánu 6,6 m, nejvíc 10 m.

Co ve feedu není

Známé nepřesnosti

Licence a citace

Jízdní řády a polohy vozidel pocházejí od Dopravního podniku města Pardubic a.s. Kód této služby je AGPL-3.0. Doplněné souřadnice tří zastávek pocházejí z OpenStreetMap a podléhají ODbL.