Analyzing Urban Mobility Patterns with Origin-Destination-Time Flow Mining
Project Description
This project aims to build a demo application that analyzes and visualizes passenger movement patterns in urban transportation networks. It is ideal for final-year students who are interested in applying data mining and visualization skills to real-world transportation data, helping cities and organizations understand how people move between different regions at different times of the day.

Ideal Candidate:
This project is ideal for students interested in applying their knowledge of programming and data analysis to urban computing and smart city applications. You should be comfortable working with Python and have some experience with data manipulation libraries (pandas, numpy). An interest in geographic data, visualization, and building user-facing applications is highly recommended. Prior experience with mapping libraries (Folium, Plotly) is a plus but not required.

Skills Required:
Programming: Python
Data analysis: working with tabular data, basic aggregation and filtering
Willingness to learn geographic visualization tools (Folium, Plotly maps)
Basic understanding of graphs and spatial data structures
Supervisor
ZHOU, Xiaofang
Quota
2
Course type
UROP1000
UROP1100
UROP2100
UROP3100
UROP3200
UROP4100
Applicant's Roles
You will be tasked with building an interactive tool that discovers and visualizes Origin-Destination-Time (ODT) patterns from transportation data. The core idea is to identify significant passenger flows between regions at varying granularities of space and time. For example, discovering that there is heavy passenger flow from Financial District to Midtown during morning rush hours, or that residential areas see increased traffic to dining districts in the evenings.You will work with publicly available taxi trip data from NYC (or similar datasets). Your task is to implement a pattern mining algorithm that identifies ODT patterns where origins and destinations can be generalized to larger regions (based on geographic adjacency), and time slots can be grouped into longer periods. The focus is on creating clear, interactive visualizations that help users explore movement patterns at different granularities rather than optimizing for large-scale performance.Furthermore, you will design an interface where users can: (1) select regions and time periods of interest, (2) view discovered patterns on an interactive map, (3) drill down into pattern details to see which atomic trips contribute to each pattern, and (4) compare patterns across different times of day or days of the week.
Applicant's Learning Objectives
Understand the concept of ODT patterns and their applications in urban planning, emergency response, and transportation optimization.
Implement a basic pattern mining algorithm that discovers significant flow patterns from transportation data.
Handle spatial generalization by grouping adjacent regions and temporal generalization by combining consecutive time slots.
Store trip data and discovered patterns in a suitable format (e.g., SQLite database or JSON files).
Build an interactive web dashboard (using Streamlit or similar) with map visualizations showing discovered patterns.
Design clear visualizations that communicate pattern hierarchies and allow users to explore patterns at different granularities.
Evaluate the tool on sample data and demonstrate meaningful insights about urban mobility.
Complexity of the project
Moderate