Bachelor's Thesis

Public Transport Data Integration System

Final Thesis 6.42 MB

Author of thesis: Roman Tréšek

Acad. year: 2025/2026

Supervisor: Ing. Juraj Lazúr

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

Abstract:

As public transportation networks expand, integrating fragmented data sources from independent urban and regional providers remains a significant technical challenge. This thesis addresses the lack of unified transit data in the city of Most by designing and implementing a custom middleware integration layer. The proposed system bridges the gap between the urban transit API of Most and the regional Portabo network.

  Developed in Python utilizing FastAPI and Pandas, the backend architecture functions as an on-demand Extract, Transform, Load (ETL) pipeline. It actively ingests disparate data streams, normalizes heterogeneous schemas, and performs deduplication to resolve overlapping physical transit stops. Furthermore, the system integrates dynamic telemetry for real-time vehicle tracking and standardizes stop-specific departure schedules. A critical feature of the implementation is its structural fault tolerance; the system employs graceful degradation mechanisms to maintain high availability, ensuring that structurally valid data is delivered even during partial network outages of the external providers.
   
  The resulting solution provides a single, decoupled RESTful API that delivers standardized GeoJSON payloads to the Esri client. This architecture successfully shifts the computational burden away from the client, ensuring an efficient, reliable, and seamless visualization of the integrated transit network.

Keywords:

public transport, data integration, geospatial data, deduplication, fault tolerance

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaCznamka

Grading

C

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 C.

Topics for thesis defence

  1. Jakým způsobem jste testoval algoritmus deduplikace názvů zastávek? Navrhněte způsob testování.
  2. Bylo by možné využít jazykové modely pro hledání duplikátů?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Tomáš Martínek, Ph.D. (předseda)
doc. Ing. Michal Španěl, Ph.D. (místopředseda)
Ing. Jiří Hynek, Ph.D. (člen)
Ing. Filip Orság, Ph.D. (člen)
Ing. Vladimír Bartík, Ph.D. (člen)

Supervisor’s report
Ing. Juraj Lazúr

Študent zadanú prácu riešil svedomito a zodpovedne. Výsledok práce je nasadený a aktívne používaný a môže byť využitý v ďalších aplikáciach nielen v rámci mesta Most. Celkovo navrhujem hodnotenie stupňom B.

Evaluation criteria Verbal classification
Informace k zadání

Cieľom práce bolo vyvinúť middle-ware nástroj schopný netriviálneho spojenia dát. Študent v rámci práce vykonal prieskum rôznych prístupov k spájaniu dát. Dôležitou súčasťou práce bola aj analýza vstupných dátových zdrojov, ku ktorým neexistovala relevantná dokumentácia. Výsledný nástroj pomerne robustne implementuje cieľové spájanie dát a poskytuje tieto dáta cez API existujúcej vizualizačnej aplikácií. Celkovo hodnotím prácu kladne. Výsledné riešenie je nasadené v praxi a slúži mestu Most.

Práce s literaturou

Študent si sám aktívne dohľadával zdroje a dokumentáciu. Z týchto zdrojov študent získal solídny teoretický základ, ktorý využil pri praktickej implementácií svojho riešenia.

Aktivita během řešení, konzultace, komunikace

Študent aktívne komunikoval počas celého riešenia práce, konzultácie prebiehali pravidelne každé dva týždne. S externým konzultantom prebiehali schôdzky každé tri týždne. Práca postupovala dobrým tempom.

Aktivita při dokončování

Práca bola dokončená s rezervou a mohla tak byť dostatočne konzultovaná.

Publikační činnost, ocenění
Points proposed by supervisor: 80

Grade proposed by supervisor: B

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

Student splnil zadání. Vytvořil funkční integrační systém pro data z veřejné dopravy ve městě Most a jeho okolí. Práce obsahuje výše zmíněné nedostatky jak v technické zprávě, tak v realizačních výstupech. Navrhuji hodnocení stupněm C.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Cílem práce byl návrh a implementace integračního systému sjednocujícího roztříštěná data o veřejné dopravě ve městě Most a Ústeckého kraje. Systém funguje jako middleware propojující lokální API městské dopravy s regionální sítí Portabo, řeší duplicity a nekonzistentní datová schémata a poskytuje standardizované RESTful API ve formátu GeoJSON. Student se musel seznámit s principy ETL pipeline, zpracováním geodat (pyproj) a návrhem REST API (FastAPI, Pandas). Zadání hodnotím jako průměrně obtížné. Považuji ho za splněné.

Prezentační úroveň technické zprávy

Kapitoly na sebe logicky navazují. Teoretická část místy působí spíše jako výčet technologií než jako analytická rešerše. Popis testování je obsahově stručný.

70
Formální úprava technické zprávy

Práce vykazuje nedostatky v jazykové a typografické úpravě – místy překlepy, nesprávné multicitace nebo uvozovky. Tabulky v kapitole 3 nejsou řádně vysázeny a některá schémata jsou v rastrovém formátu.

65
Realizační výstup

Výsledkem je funkční REST API s dokumentací, které integruje data z více zdrojů. Algoritmus deduplikace názvů zastávek mohl být nicméně robustnější.

65
Využitelnost výsledků

Výsledky jsou využitelné pro město Most.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Student kombinuje odborné a online zdroje. Množství citovaných zdrojů je přiměřené.

75
Topics for thesis defence:
  1. Jakým způsobem jste testoval algoritmus deduplikace názvů zastávek? Navrhněte způsob testování.
Points proposed by reviewer: 70

Grade proposed by reviewer: C

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