Graph-based analysis of Milan's public transportation network
Voronoi diagram of the transport network's neighbor graph overlaid on the city map (γ=2km and ρ=5km)
This work is a graph-based analysis of a city's public transport network. It uses an average, aggregated graph to represent the different means of public transportation offered by the city, inspecting its structure, connectivity and resilience to different failure/attack strategies.
- Python 3.0 or greater for the clustering tools and notebooks
- Python 2.7 for the demo
$ git clone https://github.com/Dodicin/transportation-network-analysis
$ cd transportation-network-analysis
$ pip install -r requirements.txt
The project is structured in four main components:
- Database container containing the raw GTFS data
- The CSV to GML conversion of the data (with some processing)
- The graph processing notebook
- The attacks processing notebook
- A visualization demo
$ cd container
# Downloads the dataset
$ python init_data.py
# Launch DB
$ docker-compose up --build
$ jupyter-notebook maps.ipynb
$ python2 dash/demo.py