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.txt
and then additionally
conda install cartopy