Brandýs-Boleslav
Začni psát pro vyhledávání...

Zadání: sběr dat o kvalitě dopravy na D10 v úseku Brandýsko - Praha

Zadání: sběr dat o kvalitě dopravy na D10 v úseku Brandýsko - Praha

Verze 1.0, 1. srpna 2026 Zadavatel: město Brandýs nad Labem-Stará Boleslav Zpracoval: podklad pro dopravní strategii


1. Proč to děláme

Město nemá žádné vlastní měření kvality dopravy. Všechny argumenty o zhoršující se dostupnosti Prahy, o vlivu D10 na provoz ve městě a o efektu budoucího obchvatu se dnes opírají o dojmy nebo o cizí modely s výhledovými roky, které už neplatí.

Sběr má tři konkrétní cíle:

  1. Popsat současný stav. Kdy přesně a kde se doprava na D10 mezi Starou Boleslaví a Prahou zpomaluje, jak dlouho to trvá a jak moc.
  2. Otestovat hypotézu o odklonu. Když se D10 zpomalí nebo uzavře, projeví se to na profilech ve městě? Pokud ano, je město náhradní trasou dálnice a nese za to náklady.
  3. Vytvořit výchozí měření před obchvatem. V roce 2028 se stejným postupem změří stav po zprovoznění a vznikne nezpochybnitelné srovnání před a po. Tohle je z dlouhodobého hlediska nejcennější výstup.

2. Co se měří

Zdroj dat: TomTom Traffic Flow API (flowSegmentData) a Traffic Incidents API (incidentDetails), verze 4 a 5.

Pro každý měřicí bod se ukládá:

Veličina Popis
rychlost_akt aktuální rychlost v km/h
rychlost_volna rychlost volného provozu na tomtéž úseku
pomer podíl aktuální a volné rychlosti, hlavní ukazatel
cas_akt_s, cas_volny_s doba průjezdu úsekem
zdrzeni_s rozdíl obou časů
confidence spolehlivost hodnoty, 0 až 1
uzavreno příznak uzavírky
frc třída komunikace, kontrola že bod sedí na správné silnici

Nesbírá se počet vozidel. Flow API intenzity neposkytuje. Pokud je potřebujete, je to samostatný úkol se sčítači.

3. Kde se měří

3.1 Dálnice D10, 14 bodů

Úsek od exitu u Staré Boleslavi po napojení na D0 u Satalic, délka zhruba 16 km, body po přibližně jednom kilometru. Všech 14 bodů bylo 1. 8. 2026 ověřeno, všechny se snapují na FRC0, tedy dálnici, se spolehlivostí 1,00.

ID Souřadnice Volný provoz
D10_00_StBoleslav_exit 50.19667, 14.69159 125 km/h
D10_02 50.20261, 14.69212 121
D10_03 50.19280, 14.69425 121
D10_04 50.18371, 14.69516 121
D10_05_Zapy 50.17567, 14.68406 121
D10_06 50.16939, 14.67350 121
D10_07 50.16148, 14.66540 121
D10_08_Drevcice 50.15092, 14.65706 121
D10_09 50.14201, 14.64857 121
D10_10 50.13494, 14.63869 121
D10_11_Radonice 50.12923, 14.62689 121
D10_12 50.12511, 14.61377 107
D10_13 50.12206, 14.59980 103
D10_14_Satalice_D0 50.11855, 14.58558 97

Ověřit: severní krajní bod byl zvolen jako předpokládaný exit 14. Než se sběr rozjede naostro, potvrďte na mapě, že sedí. Pokud ne, posuňte souřadnici a znovu ověřte, že vrací FRC0.

3.2 Kontrolní profily ve městě, 6 bodů

Slouží k testu hypotézy o odklonu. Bez nich je měření D10 jen popis dálnice.

Revize 1. 8. 2026: původní souřadnice čtyř bodů neležely na deklarovaných ulicích (TomTom je přichytával k jiným komunikacím — např. „Pražská” měřila ulici Vrábskou, „křižovatka Zápy” byla v polích). Opraveno proti OSM síti, všechny body ověřeny přes flowSegmentData se snapem do 11 m.

ID Souřadnice Volný provoz Umístění
MOST_Labe 50.19391, 14.67143 43 km/h most M. Švabinského
CENTRUM_Masarykovo 50.18535, 14.65976 36 průtah u Masarykova nám.
PRAZSKA_vyjezd 50.17373, 14.64680 67 II/610 směr Dřevčice/Praha
BOLESLAVSKA_Melnicka 50.19640, 14.67515 44 Mělnická, Stará Boleslav
ZAPY_krizovatka 50.17004, 14.70766 57 Hlavní (II/101), Zápy
KRALOVICKA_ZAPSKA 50.18476, 14.66564 34 křižovatka Královická × Zápská

Bod BRANDYS_nadrazi (50.18357, 14.65528) byl 1. 8. 2026 odstaven: kontrola snapu ukázala, že leží 171 m od segmentu, na který ho flowSegmentData přichytávalo, takže neměřil zamýšlenou komunikaci. Nahradil ho uzel Královická × Zápská ze sit.geojson (snap 4 m). Bod vrací rameno Královické (II/101) směrem k centru, FRC3. Zápská (FRC4, jižní rameno) ani Královická od Zápů se tímto bodem neměří.

3.2b Doplňkové profily okolních tahů, 4 body (přidáno 1. 8. 2026)

Rozšíření nad rámec původního zadání — hlavní tahy v okolí, kudy se doprava odklání nebo přivádí k D10.

ID Souřadnice Volný provoz Umístění
KOSTELECKA_101 50.19098, 14.64719 79 km/h II/101 směr Kostelec n. L.
KRALOVICKA_101 50.17778, 14.68881 61 II/101 Brandýs → Zápy/D10
TOUSENSKA_245 50.15788, 14.74023 51 II/245 Zápy → Lázně Toušeň
STBOLESLAV_610_D10 50.20378, 14.68889 48 II/610 u exitu 14

3.3 Incidenty

Bounding box 14.55, 50.09, 14.80, 50.25, tedy Brandýsko včetně celého sledovaného úseku D10 a napojení na D0. Ukládá se úplný seznam aktivních událostí s typem, popisem, časem začátku, délkou a zpožděním.

4. Jak často a jak dlouho

Interval: každých 15 minut v čase 05:00 až 22:00, každou hodinu v noci. Incidenty jednou za hodinu, mění se pomalu.

Důvod tohoto rozvržení je limit volání. Free tier bývá 2 500 požadavků denně. Navržený režim spotřebuje zhruba 1 700 za den, takže se vejde s rezervou. Před spuštěním ověřte skutečný limit svého klíče. Pokud máte vyšší, zahustěte na 10 nebo 5 minut, zvlášť u profilů ve městě.

Doba sběru: minimálně do voleb, ale záměr je nechat to běžet trvale. Cena je nulová, přínos roste s délkou řady.

Milníky:

Termín Co z toho bude
po 2 týdnech denní a týdenní profil, kontrola kvality dat
do voleb (2 měsíce) popis současného stavu, první vyhodnocení hypotézy o odklonu
konec 2027 roční řada, výchozí měření před obchvatem
2028 a dál srovnání před a po zprovoznění obchvatu

5. Technické zajištění

Skript: sber_flow_d10.py, čistý Python 3 bez externích knihoven.

Nasazení: jakýkoli server nebo virtuální stroj s Pythonem a připojením k internetu. Náročnost je zanedbatelná.

*/15 * * * * cd /opt/doprava && TOMTOM_API_KEY=xxx /usr/bin/python3 sber_flow_d10.py >> log.txt 2>&1

Výstup: jeden CSV soubor na den (data/flow_RRRR-MM-DD.csv, oddělovač středník) a jeden JSONL se snímky incidentů. Objem řádově jednotky megabajtů za měsíc.

Zálohování: adresář data/ zálohovat denně. Data se nedají doplnit zpětně, ztráta je nevratná.

Klíč: samostatný API klíč jen pro tento účel, ne sdílený s ničím jiným, aby se dal kdykoli zneplatnit bez dopadu na ostatní systémy.

Pozor na zimní čas. Skript má časové pásmo napevno na UTC+2. Na konci října je nutné přepnout na +1, nebo skript upravit tak, aby pásmo bral ze systému.

6. Jak se to bude vyhodnocovat

Popisná část: medián poměru aktuální ku volné rychlosti po hodinách a dnech v týdnu, pro každý bod. Výstupem je heatmapa, kde je hned vidět, kdy a kde se to drhne.

Test hypotézy o odklonu: pro každý úsek, kdy na D10 poměr klesl pod stanovenou mez (návrh: pod 0,7 po dobu aspoň 30 minut), se porovná souběžný stav na městských profilech proti kontrolnímu vzorku, tedy stejný den v týdnu a stejná hodina bez události na D10. Ptáme se, jestli se ve městě zpomalí, o kolik a s jakým zpožděním.

Vazba na incidenty: každá zjištěná epizoda se spáruje se seznamem aktivních incidentů, aby se vědělo, jestli za tím byla nehoda, uzavírka nebo běžná špička.

7. Co už první měření ukázalo

Testovací běh 1. 8. 2026 ve 14:39 (sobota, mimo špičku):

  • Celý úsek D10 od Staré Boleslavi po km 13 jel plnou rychlostí, poměr 1,00 ve všech bodech.
  • Jediné zdržení bylo na posledním bodě u napojení na D0 u Satalic: 61 km/h proti 98 km/h volného provozu, poměr 0,62, zdržení 44 sekund.
  • Ve městě bylo všude 1,00.

Jedno měření nic nedokazuje, ale naznačuje, kde stojí za to hledat: úzké hrdlo není na vaší části D10, ale na vjezdu do Prahy. Pokud se to potvrdí na delší řadě, má to přímý důsledek pro strategii. Zkapacitnění D10 směrem k Brandýsu by dostupnost Prahy nezlepšilo, protože se stojí až za Satalicemi. Argumentace by se pak měla přesunout k dostavbě pražského okruhu a k železnici.

Souběžně bylo v oblasti 48 aktivních dopravních událostí, z toho 39 uzavírek silnic, některé běžící od června 2025. To je mimochodem konkrétní číslo do kapitoly o koordinaci rozkopávek.

8. Omezení, která je nutné znát

Nedostanete počty vozidel ani podíl nákladní dopravy. Flow API měří rychlosti. Kolik aut a kolik z nich kamionů je samostatná úloha se sčítači.

Nedostanete historii zpětně. Incidents API vrací jen aktuální a plánované události. Řada začíná dnem, kdy sběr spustíte. Zpětný pohled by vyžadoval placený produkt TomTom Traffic Stats.

Plánované uzavírky TomTom pro tuto oblast nehlásí. Filtr future vrátil při testu nula záznamů. Pro dopředné informace o uzavírkách je nutné použít Národní registr dopravních informací.

Data jsou komerčně licencovaná. Před publikací grafů ve volebních materiálech ověřte licenční podmínky pro zveřejňování odvozených výstupů.

Poměr rychlostí není totéž co zdržení v minutách. Pokles poměru na krátkém úseku s nízkou volnou rychlostí znamená v absolutním čase málo. Při interpretaci vždy uvádět i zdrzeni_s.

9. Akceptační kritéria

Sběr je považován za funkční, když:

  • běží nepřetržitě aspoň 14 dní bez výpadku delšího než 2 hodiny
  • podíl řádků s chybou je pod 1 %
  • confidence je u aspoň 90 % záznamů rovna 1,00
  • všech 14 bodů na D10 vrací trvale FRC0
  • denní počet volání se drží pod limitem klíče
  • existuje funkční zálohování adresáře data/

10. Odpovědnost

Role Kdo Co
Zadavatel město rozhodnutí o rozsahu, převzetí výstupů
Provoz IT / dodavatel nasazení, cron, zálohy, dohled
Vyhodnocení zpracovatel strategie měsíční zpráva, analýza odklonu
Klíč a licence město správa API klíče, kontrola licenčních podmínek

Doporučená kontrola: týdně první měsíc, pak měsíčně.


Changelog

1. 8. 2026 — realizace (odchylky od zadání v1.0):

  • Sběr běží jako Cloudflare Worker doprava-sber (doprava/worker/), ne Python skript na serveru; úložiště R2 (doprava-data), živý endpoint https://doprava-sber.zandl.workers.dev/live pro mapu /doprava/.
  • Limity TomTom jsou měsíční, ne denní (Flow 20 000, Incidenty 2 500, dlaždice 200 000 zdarma/měsíc). Režim upraven: plný sběr à 30 min ve dne (05–22) a à 1 h v noci; navíc vektorové flow dlaždice (celoplošně, à 15 min ve dne). Odhad nákladů: doplatek jednotky USD měsíčně za Flow.
  • Časové pásmo řeší Intl (Europe/Prague) — problém s přechodem na zimní čas ze zadání odpadá.
  • Revize souřadnic městských profilů a 4 doplňkové body (viz 3.2, 3.2b).
  • Bbox incidentů zúžen na 14.50,50.08,14.90,50.32 (bez centra Prahy, viz komentář v worker/src/konfigurace.ts).
  • Směr měření: flowSegmentData vrací data pro jeden jízdní pás (ten bližší souřadnici bodu). Audit 1. 8.: 13 ze 14 bodů D10 měří směr Praha, výjimka D10_00 (směr Ml. Boleslav). Od 1. 8. večer se ke každému záznamu ukládá sloupec azimut (směr měřeného pásu ve stupních, 0 = sever); mapa směr zobrazuje šipkou. Protisměrné body zatím nepřidány (zdvojnásobily by cenu).
  • Dojezdy (nad rámec zadání): Routing API měří 7 tras (Dřevčická/Erbenova/ Michalovická → P+R Letňany, P+R Černý Most, Zlatnická 12, průjezd městem) v obou směrech à 30 min v denní době (~14,5 k volání/měs, v limitu 20 k zdarma). Archiv dojezdy/dojezdy_RRRR-MM-DD.csv, sloupce: čas, trasa, směr, délka, čas s provozem / bez provozu / historický, zdržení.