Analysis of public transportation systems using network science.
The analysis is based on the public infrastructure data of St. Petersburg, Russia. The two sources of raw data are:
data/raw/spb_routes.csv- data on public transport routes (bus, trolley, tram). Downloaded from this page.data/raw/osm.zip* - data from OpenStreetMap. Downloaded via Overpass API using the following queries:- St. Petersburg (relation 337422):
[out:json]; area(3600337422)->.a; ( node(area.a); way(area.a); relation(area.a); ); out;- Leningrad oblast (relation 176095):
* The file size is about 250 MB, therefore it cannot fit inside a Git repo. You can download it using this Google Drive link.[out:json]; area(3600176095)->.a; ( node(area.a); way(area.a); relation(area.a); ); out;
All procedures are executed in the corresponding jupyter-notebooks (directory pipeline/) in the order suggested by their corresponding names (i.e. pipeline/1_data-preprocessing.ipynb).
Note that this repo (unfortunately) uses both pip and conda for package management, since installing cartopy without conda is a pain in the ass, and I also like to use my own little package myutils, which cannot be installed using conda directly from Github. The simplest way to use the repo is to run
pip install --r requirements.txtand then additionally
conda install cartopy