Bachelor's Thesis

Systém pro monitorování dopravy v reálném čase

Final Thesis 3.94 MB

Author of thesis: Bc. Vojtěch Hubáček

Acad. year: 2025/2026

Supervisor: Ing. Jiří Hynek, Ph.D.

Reviewer: Ing. Ondřej Šulc

Abstract:

This bachelor's thesis deals with the design, implementation, and verification of an extension of the RTAlerts system for real-time traffic data monitoring. The proposed solution extends the original system with long-term data historization, re-evaluation of Key Performance Indicators over stored history, and open application interfaces for other applications. The thesis analyzes the properties of traffic data sources provided by Waze, the National Traffic Information Centre, and the Integrated Transport System of the South Moravian Region, and derives requirements for a unified data model, persistence, and data access. The resulting solution uses a multi-layered architecture built on top of the RIoT platform and includes modifications of preprocessors, extensions of server-side services, a time-series database, authenticated REST, GraphQL, and WebSocket interfaces, and a reference web client application. The thesis also includes experimental verification of online data ingestion, historical data re-evaluation, and historical export performance, as well as integration of the resulting system into the Analyticity and Lissy applications. The results show that the proposed system enables efficient work with both historical and current traffic data and can serve as a general server-side component for other analytical and visualization applications.

Keywords:

traffic, traffic data, traffic monitoring, open data, KPI, data historization, time series, reprocessing, API, microservices, Waze, NDIC, public transport, GTFS, DATEX II, GraphQL, REST, WebSocket, TypeScript, React, Go, RabbitMQ

Date of defence

18.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Topics for thesis defence

  1. Automatizované testy pokrývají zpracovatelské jádro systému se syntetickými daty, preprocesory však testovány nejsou. Jak byste přistoupil k end-to-end otestování celého systému, od přijetí dat z externích zdrojů preprocesory, po předání dat připojeným aplikacím přes API?
  2. Systém nepočítá s mechanismem omezení intenzity příchozích dat od preprocesorů. Jak byste navrhl ochranu systému pro případ, kdy by některý zdroj začal produkovat data výrazně nad rámec testovaných profilů zátěže?
  3. Zvládne váš systém zpracovávat i jiná něž dopravní data? Jaký je hlavní přínos vaší práce?
  4. Kde ukládáte a jak chráníte uživatelská data?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Petr Matoušek, Ph.D., M.A. (předseda)
doc. Ing. Michal Bidlo, Ph.D. (místopředseda)
Ing. Radek Kočí, Ph.D. (člen)
Ing. Jan Pluskal, Ph.D. (člen)
Ing. František Grézl, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Hynek, Ph.D.

Student ke své práci přistupoval svědomitě. Pracoval na netriviálním a rozsáhlém tématu. Vytvořil prakticky použitelné řešení, které rozšiřuje systém RIoT o uchování historických dat, jejich opětovné vyhodnocování a otevřená aplikační rozhraní pro další analytické a vizualizační aplikace. Navrhuji hodnocení stupněm A.

Evaluation criteria Verbal classification
Information about assignment

Hlavními úkoly bakalářské práce bylo navrhnout, implementovat a ověřit rozšíření systému RIoT o uchování a vyhodnocování historických dat a o možnost uživatelsky definovat rozhraní pro monitoring konkrétních klíčových indikátorů výkonnosti. Student problematiku řešil nad dopravními daty (Waze, Národního dopravního informačního centra a Integrovaného dopravního systému Jihomoravského kraje) a odvodil z nich požadavky na sjednocení datového modelu, perzistenci a zpřístupnění dat. Navrhl vícevrstvou architekturu postavenou nad platformou RIoT zahrnující úpravy preprocesorů, rozšíření serverových služeb, časovou databázi, autentizovaná rozhraní REST, GraphQL a WebSocket a referenční webovou klientskou aplikaci v TypeScript a React. Serverová část je implementována v jazyce Go s využitím platformy RabbitMQ. Součástí práce bylo experimentální ověření výkonnosti online příjmu dat, opětovného zpracování historických dat a historických exportů a integrace výsledného systému do existujících aplikací Analyticity a Lissy. Zadání hodnotím jako obtížnější a považuji ho za splněné.

Work with literature

Student prostudoval doporučenou literaturu. Aktivně si vyhledával další zdroje týkající se dokumentace k platformám RIoT a RTAlerts, dopravních zdrojů Waze, NDIC a IDS JMK a problematiky dopravních dat a informačních systémů.

Activity during solution, consultations, communication

Student komunikoval během celého akademického roku. Konzultace probíhaly online s vedoucím práce. Student řádně plnil zadané úkoly, pracoval s vysokou mírou samostatnosti a byl schopen samostatně řešit velmi obtížné problémy.

Activity during completion

Práce byla dokončena v termínu a mohla být dostatečně konzultována.

Publication activity, awards

Výstupy práce jsou součástí projektu RIoT.

Points proposed by supervisor: 95

Grade proposed by supervisor: A

Reviewer’s report
Ing. Ondřej Šulc

Práci hodnotím jako velmi zdařilou. Student splnil všechny body zadání a prokázal schopnost práce na komplexním technickém problému.

Evaluation criteria Verbal classification Points Max. points
The difficulty of the assignment

Evaluation level: moderately difficult assignment

Student měl za úkol prostudovat problematiku zpracování dopravních dat a seznámit se s existujícími systémy RTAlerts a RIoT. Student měl systémy rozšířit, aby umožňovaly snazší integraci sbíraných dopravních dat do dalších aplikací pro vyhodnocování dopravy (příklady: Lissy, Analyticity).

Presentation level of the technical report

Práce je logicky uspořádaná, kapitoly na sebe přirozeně navazují. Práce obsahuje obrázky, které jsou dobře komentovány doprovodným textem, což činí práci velmi přehlednou.

Práce dobře analyzuje aktuální systém a identifikuje jeho nedostatky. Následně popisuje úpravu zpracování podporovaných zdrojů informací prostřednictvím předzpracovacích modulů (preprocesorů), čímž také zohledňuje různé metody získávání dat od třetích stran (polling, subscribe, websocket).

Text navazuje implementací ukládání historie dat, vylepšení stávajícího systému pro vyhodnocování KPI a jeho rozšíření na nově ukládanou historii, implementací systému rolí a přístupových práv a návrh a implementaci rozšíření stávající konfigurační aplikace o správu přístupu třetích stran prostřednictvím API klíčů. 

Testovací část je metodicky pečlivá, student zohledňuje modulové testování pomocí syntetických dat a také zkoumá nároky aplikace na úložiště na disku. Uvítal bych případně ještě zohlednění využití výpočetních prostředků a možností paralelizace.

90 100
Formal preparation of a technical report

Práce je psána v češtině. Jazykový projev je srozumitelný a konzistentní a překlepů je v práci minimum.

90 100
Realisation output

Realizační výstup práce hodnotím velmi kladně. Student implementoval komplexní rozšíření existujícího systému zahrnující více spolupracujících služeb, přičemž výsledek byl úspěšně ověřen integrací do dvou nezávislých aplikací.

90 100
Usability of results

Implementované řešení je možné integrovat do stávající platformy a je tedy dobře využitelné v praxi.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Zadání splněno ve všech bodech.

Extent of the technical report

Evaluation level: is within the usual extent

Práce se svými 92 normostranami je rozsáhlejší, ovšem je informačně bohatá a vyšší počet stran je tedy pochopitelný. 

Work with literature

Práce čerpá z relevantních zdrojů přiměřených tématu. Citované zdroje obsahují pouze drobné překlepy ve jménech.

90 100
Topics for thesis defence:
  1. Systém nepočítá s mechanismem omezení intenzity příchozích dat od preprocesorů. Jak byste navrhl ochranu systému pro případ, kdy by některý zdroj začal produkovat data výrazně nad rámec testovaných profilů zátěže?
  2. Automatizované testy pokrývají zpracovatelské jádro systému se syntetickými daty, preprocesory však testovány nejsou. Jak byste přistoupil k end-to-end otestování celého systému, od přijetí dat z externích zdrojů preprocesory, po předání dat připojeným aplikacím přes API?
Points proposed by reviewer: 90

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová