Data jízdních řádů ke stažení

Na rozdíl od jisté společnosti, jejíž název se rýmuje s "gravitační kolaps", veřím, že by data o jízdních řádech, která dopravci poskytují státu, měla být dostupná v celém svém původním měřítku, a nikoli jen v handicapované podobě stvořené v zájmu monopolizace této datové základny. Kompletní obsah databáze, nad níž Spojenka vyhledává jízdní řády, je zde proto poskytnut zdarma ke stažení. Můžete ji, samozřejmě bez záruk a zcela na vlastní odpovědnost, používat pro libovolné nekomerční účely.

Ke stažení

Sloučené celostátní jízdní řády ve formátu JDF (viz popis níže) jsou dostupné na:
https://www.spojenka.cz/jrdata/jizdnirady-jdf.zip

Původní databázi se všemi údaji ve formátu Kryo k použití s kompatibilními knihovnami, případně pro vytvoření filtrovaného exportu nástroji Spojenky, lze stáhnout na:
https://www.spojenka.cz/jrdata/jizdnirady-kryo.ttblob

Popis

  • Formát: JDF verze 1.11 (specifikace)
  • Datum aktualizace: Načítání...
  • Velikost souboru: Načítání...

Obecné

Jízdní řády jsou zabaleny v podobě obdobné té, kterou můžete znát z exportů CIS JŘ, tedy jako jednotlivé dávky formátu JDF v souhrnném archívu ZIP. Dávky jsou seskupené podle kombinací čísel linek, nebo v případě, kdy dané spoje k žádné očíslované lince nepřísluší (jak tomu je občas u vlaků), podle projeté trasy. Takové dávky jsou pojmenované "NoLineRoute" (u tras bez linek) nebo "NonCentralLine" (u tras, jimž byla přiřazena "virtuální" linka kvůli příslušnosti k IDS) a jejich čísla nejsou stabilní (ale jsou unikátní v rámci exportu).

Každá dávka obsahuje všechny časově platné varianty linky evidované v databázi tak, jak byly postoupeny do CIS JŘ, rozlišené atributem "rozlišení linky". Není tedy brán ohled na úpravu platnosti JŘ v situaci výluky nebo odklonu. Pokud se vám nechce počítat si tyto informace z překryvů JŘ svépomocí, je možné z dat ve formátu Kryo vyexportovat upravené masky platnosti z databáze.

Mějte se na pozoru u linek importovaných z otevřených dat PID - jsou totiž uveřejňované s platností pouze na 14 dní dopředu. Informace o tom, kdy spoje jedou (pevné a časové kódy), u nich tedy nemusí být přesné a některé linky, které zrovna nejedou dlouhodobě (třeba školní autobusy o prázdninách) mohou být přítomné pouze ve své podobě v CIS JŘ.

Identifikátory záznamů

Linky

Linky VLD a MHD jsou identifikované čísly licencí z registru CIS JŘ, případně doplněné o lokální čísla v IDS uvedená v souboru LinExt. Tato čísla jsou stabilní a globálně unikátní. V případě, že spoje v dávce nenáleží žádné skutečné lince nebo mu není přiřazeno číslo ani z jednoho z těchto registrů, bude záznam linky mít dočasné číslo ve formátu 999xxxxxx.

Některé vlakové spoje mohou náležet více linkám zároveň (např. osobní vlaky z Berouna do Plzně). Formát JDF toto přímo reflektovat neumí, nicméně vzhledem k tomu, že se vždy jedná o linky zapojené do IDS, lze tuto příslušnost dohledat v souboru LinExt, případně z názvu dávky, který obsahuje všechny identifikátory přiřazené v registru KADR.

Spoje

Čísla spojů jsou zpravidla nestabilní a unikátní pouze v rámci linky či balíku. Spoje, jejichž jízdní řády jsou převzaty z CIS JŘ, mají čísla shodná s tištěnými jízdními řády (dostupnými na webu CIS JŘ). Vlakové spoje mají vždy přiřazeno své tzv. "provozní číslo", které lze dohledat například na stránkách ČD. Toto číslo se ve vzácných případech může během jízdy vlaku změnit. Formát JDF si ovšem s takovým jevem ve své vanilkové podobě poradit neumí, přítomno je tedy vždy pouze první vyskytnuvší se číslo.

Spoje, pro které není znám stabilní číselný identifikátor, dostanou přidělené virtuální číslo unikátní v rámci balíku ve formátu 999xxxxxx.

Zastávky

Zastávky jsou identifikovány stabilními čísly z Centrálního registru zastávek vytvořeného pro účely vyhledávače Spojenka. Aby bylo zastávku možné zařadit do CRZ, je nutné znát vedle názvu přinejmenším také její polohu nebo číslo z některého ze stabilních registrů (UIC nebo CIS JŘ). Zastávkám, u nichž není znám ani jeden z těchto údajů, tedy bude přiřazeno provizorní číslo ve formátu 999xxxxxx. Takové číslo není stabilní napříč exporty, nicméně je unikátní v rámci jednoho balíku a dokáže v něm spolehlivě rozlišit různé zastávky se shodujícími se názvy.

V případě potřeby je z jízdního řádu ve formátu Kryo možné vytvořit balík používající identifikátory z číselníku zastávek CIS JŘ. Ovšem vzhledem k tomu, že jeho provozovatel pravidelně opakuje soudem zamítnutou lež, že číselník zastávek CIS JŘ, o němž hovoří specifikace JDF a až na několik výjimek všechny zdroje dat, které používáme, v CIS JŘ ve skutečnosti není, tyto identifikátory v rozsahu dostupném veřejnosti nepokrývají zdaleka všechny zastávky, resp. pokrývají pouze ty, jejichž CIS čísla jsou uvedena v některém ze zdrojů dat vytvořených veřejnou správou. Použití čísel z CRZ je tedy pro většinu situací vhodnější.

Označníky

Jednotlivé označníky zastávek, též známé jako sloupky, stanoviště či nástupiště, nepoužívají stabilní identifikátory - pouze v rámci dané zastávky mohou volitelně mít lokálně unikátní číslo stanoviště (dle specifikace JDF). Kódy označníků jsou unikátní v rámci jednoho balíku.

Dopravci

Dopravci jsou zpravidla rozlišováni podle čísel IČO nebo DIČ. Zahraniční firmy, které IČO ani DIČ nemají, případně jiné neznámé entity, jsou rozlišitelné pouze podle jména.

Rozšíření

Polohy označníků

Záznamy v souboru Oznacniky obsahují ve dvou rezervovaných polích geografické souřadnice sloupků. Údaje jsou kódované v systému WGS84/GPS s desetinnou čárkou v pořadí X, Y (lon, lat).

Rozlišení tarifních zón

Formát JDF neumožňuje vzájemné rozlišení stejně pojmenovaných tarifních zón/pásem napříč více IDS. Řešením použitým v těchto exportech je prefixace tarifního pásma kódem IDS, kterému náleží. Výjimkou je tarifní systém PID, u nějž jsou pásmům ponechány původní názvy. Kódovník předpon IDS je uveden níže.

Ke stažení

Sloučené celostátní jízdní řády ve formátu GTFS (viz popis níže) jsou dostupné na:
https://www.spojenka.cz/jrdata/jizdnirady-gtfs.zip

Původní databázi se všemi údaji ve formátu Kryo k použití s kompatibilními knihovnami, případně pro vytvoření filtrovaného exportu nástroji Spojenky, lze stáhnout na:
https://www.spojenka.cz/jrdata/jizdnirady-kryo.ttblob

Popis

Obecné

Data v GTFS jsou generována v základní specifikaci se soubory:

  • agency.txt
  • calendar.txt
  • calendar_dates.txt
  • levels.txt
  • pathways.txt
  • routes.txt
  • stop_times.txt
  • stops.txt
  • trips.txt

Dále jsou přítomna některá rozšíření použitá v open datech systému PID, konkrétně:

  • is_substitute_transport v routes.txt
  • max_waiting_time v transfers.txt
  • exceptional v trips.txt

Dataset je po větších změnách kontrolován validátorem.

Identifikátory záznamů

Veškeré záznamy, které disponují stabilními identifikátory (linky, spoje, zastávky) je mají uvedené v GTFS jako řetězce ve formátu REGISTR:identifikátor|..., kde svislice odděluje čísla v různých registrech (pokud by náhodou identifikátor sám obsahoval svislici, bude odescapovaná zpětným lomítkem \). Dodatečně mohou být přítomny rozlišující informace, které jsou odděleny tečkou. Třeba u spojů je takto oddělena část týkající se linky od části týkající se spoje, u zastávek se podobně rozlišují nástupiště a tarifní zóny. Pokud daný záznam neobsahuje stabilní identifikátor, bude mu přiřazen dočasný, který lze rozeznat tak, že nebude mít předponu s kódem registru.

Tarifní zóny

Formát GTFS nepodporuje specifikaci tarifních zón tak, aby mohla jedna zastávka patřit do různých zón v závislosti na lince. V tomto případě se jedná spíše o krkolomnost některých tarifních systémů než nedostatek na straně formátu, nicméně s tím nejde nic moc dělat, takže i toto chování je zde emulováno podobně jako v GTFS datech PID vytvořením duplikátů zastávek pro různé možné zóny. Duplikáty lze sloučit dohromady podle shody souřadnic nebo identifikátorů (liší se pouze rozlišujícím polem .Z###, které reprezentuje použitou kombinaci zón).

Nejednoznačnost čísel zón mezi tarifními systémy je řešena obdobně jako u formátu JDF přidáním předpony IDS podle kódovníku.

Názvy a čísla linek/spojů

Linky jsou zpravidla číslovány lokálními čísly v IDS. V případě, že jich je více, jsou oddělena lomítkem. Definice rozsahu trasy, kde spoj obsluhuje danou linku, není formátem GTFS podporována, a tudíž není přítomna.

Speciálně linky vlaků také mohou obsahovat jejich názvy (Berounka, Lužnice, Vysočina, Metropolitan). V případě, že je jedna linka (třeba Ex1) obsluhována vlaky s různými názvy, budou pro ni vytvořeny oddělené záznamy.

Pokud linka nemá žádný zkrácený název, je použito číslo z některého z registrů. Pokud neexistuje ani takové číslo, je pojmenována podle své trasy (počáteční a koncový bod).

Vlakové spoje mají v poli trip_short_name uvedené své číslo. Je-li takových čísel víc, jsou oddělena lomítkem. Čísla odklonových tras (třeba 100777 pro vlak 777) jsou vynechána.

Dopravci

Dopravci jsou v GTFS reprezentováni souborem agency.txt. Na ně jsou navázané konkrétní trasy, z čehož vyplývá, že stejná linka obsluhovaná více dopravci bude mít pro každého separátní záznam (obdobně jako tomu je s licenčními čísly CIS JŘ). Struktura je tedy v tomto podobnější datům IDFM spíše než pražským nebo brněnským.

Dopravci jsou identifikováni podle IČO nebo DIČ, jsou-li tyto údaje dostupné. V takovém případě mají ID předponu ICO:[kód státu] nebo DIC: (u DIČ je kód státu standardní součástí údaje). Jinak je jim přiřazen dočasný identifikátor ve formátu A####.

Posun kalendáře

Vlaky v jízdních řádech Správy železnic mají kalendáře jízdy počítané ode dne příjezdu do první zastávky na území ČR (v tzv. referenční den). Pokud je v JŘ tedy zahrnuta i nějaká zastávka dříve než v tomto bodě a zároveň tuto zastávku vlak navštíví dříve než v referenční den (typicky noční vlaky), bude mít nastavený negativní "offset", oproti referenčnímu datu pro kalendář jízdy. Tento jev nelze v GTFS reprezentovat, neboť vyžaduje ve všech bodech trasy, a tedy i v prvním, od nějž se rovněž odvíjí kalendář jízdy, nezáporný časový údaj. Proto jsou u těchto vlaků kalendáře o patřičný počet dnů automaticky posunuty, aby byly všechny časové údaje platné. Na přímou interpretaci dat tato změna nemá vliv, nicméně způsobuje neshodu s tištěnými jízdními řády, které uvádějí pevné kódy ve vztahu k původnímu referenčnímu dni.

Cesty mezi nástupišti a nástupními oblastmi

V pražských GTFS datech jsou ve stanicích metra definované vedle nástupišť také tzv. nástupní oblasti. Ty jsou potřeba pro přesnou navigaci, neboť nástupiště jsou dlouhá a způsob přestupu se může lišit v závislosti na tom, kde vystoupíte (třeba na Muzeu). GTFS předpokládá, že mezi těmito nástupními oblastmi a nástupištěm existuje jistá implicitní vazba definovaná relací v souboru stops.txt (parent_station_id), nicméně pro snazší propojení mezi jízdním řádem a geografií stanic v grafových algoritmech jsou v převedených datech navíc zahrnuty "virtuální" hrany nulové délky (algoritmy v důsledku počítají s "optimální" přestupní trasou, tedy např. při přestupu z B na C na Můstku prostřední vagon). Pokud tyto hrany nechcete, můžete je jednoduše odstranit - mezi nástupišti a nástupními oblastmi jiné než tyto nejsou.

Další informace

Kódovník předpon IDS

IDS Předpona Příklad
PID (žádná) P, 0, B
IDPK P P047, P001
(pozor na PID P!)
IREDO I I142, I560
IDOL L L9051, L5530
DÚK U U301, U386
ODIS O O2, O20, O21
IDSOK M M87, M710
IDZK Z Z405, Z420
IDS JMK B B101, B530
(pozor na PID B!)
VDV V V580, V600
IDOK K K16, K23
IDS JK J J101, J110
IDS TA T TA, TB, TC

Zdroje dat