Skip to content

This project is designed to compute the importance of individual segments and higher-order interactions between different segments in bike path networks.

License

Notifications You must be signed in to change notification settings

PhysicsOfMobility/BikePathSynergies

Repository files navigation

BikePathSynergies

This project is designed to compute the importance of individual segments and higher-order interactions between different segments in bike path networks.

Setup

The setup is written for Linux/macOS systems. For Windows systems some commands might be slightly different, but the general setup structure stays the same. You need Python compatible to version 3.12 and Julia compatible to version 1.10 installed.

  1. You need the BikePathNet package in the same parent folder as this package.
  2. Install julia packages via the julia REPL (in Julia REPL press ])
    pkg> add DrWatson
    pkg> activate path/to/this/project
    pkg> instantiate
  3. Create a Python virtual environment (named venv from here on) and add all packages from the requirements.txt.
    python3 -m venv /path/for/venv
    source /path/to/venv/activate
    pip install -r requirements.txt

Running the calculations

All commands assume you are in the project folder. 0. If you want to use any other data than present in this project (or see how the data used here was created), please generate it with the BikePathNet package and then copy it to the input folder in the data directory.

  1. Run the simulations for the small example network (example), Hamburg (hh) and Manhattan (ny)
    julia scripts/example.jl
    If you want to make use of parallelizing parts of the calculations, specify the number of threads (e.g. 8) available to julia.
    julia --threads 8 scripts/example.jl
  2. Figures and other evaluation can now be generated in the Jupyter notebook example.ipynb in the notebooks folder. The Jupyter server should be started from inside the python vev. The plots will be saved in the plots folder.

DrWatson

You may notice that the julia script start with the commands:

using DrWatson
@quickactivate "BikePathSynergies"

which auto-activate the project and enable local path handling from DrWatson.

Software Versions Used

  1. Python 3.12.3
  2. Julia 1.12.1
  3. Python packages and dependencies: See requirements.txt
  4. Julia packages and dependencies: See Mainfest.toml

Data Licenses

The demand data is extracted from Kontur population data sets for Germany and the USA, distributed under Creative Commons Attribution International (CC BY) license. The graphs are heavily based on OpenStreetMap (OSM) data distributed under Open Data Commons Open Database License (ODbL).

About

This project is designed to compute the importance of individual segments and higher-order interactions between different segments in bike path networks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published