Skip to content

Graph-based analysis of a city's public transportation network

Notifications You must be signed in to change notification settings

nhabbash/transport-network-analysis

Repository files navigation

Transportation Network Analysis

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)

Overview

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.

Prerequisites

  • Python 3.0 or greater for the clustering tools and notebooks
  • Python 2.7 for the demo

Installation

$ git clone https://github.com/Dodicin/transportation-network-analysis
$ cd transportation-network-analysis
$ pip install -r requirements.txt

Structure

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

Accessing the container

$ cd container
# Downloads the dataset
$ python init_data.py
# Launch DB
$ docker-compose up --build

Accessing notebooks

$ jupyter-notebook maps.ipynb

Accessing dash demo locally

$ python2 dash/demo.py

Authors

About

Graph-based analysis of a city's public transportation network

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published