Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: nature.com, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: Froguin99
  • License: agpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 98.2 MB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • Open Issues: 15
  • Releases: 0
Created 9 months ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

Growing Urban Bicycle Networks - with an LTN twist

This is code modified from the scientific paper Growing urban bicycle networks by M. Szell, S. Mimar, T. Perlman, G. Ghoshal, and R. Sinatra. It adapts the code to work with Low Traffic Neighbourhoods, in order to reduce the amount of kilometers of investment required whilst still providing a connected network plan. The LTNs are sourced from this project: https://github.com/Froguin99/LTN-Detection.

The code downloads and pre-processes data from OpenStreetMap, prepares points of interest, runs simulations, measures and saves the results, creates videos and plots.

Orignal Paper: https://www.nature.com/articles/s41598-022-10783-y

Recent conference paper: https://zenodo.org/records/15231749

Example of using demand based growth on Newcastle Upon Tyne, United Kingdom Example of using demand based growth on Newcastle Upon Tyne, United Kingdom

Instructions

1. Git clone the project

Run from your terminal:

git clone https://github.com/Froguin99/ltn-bikenetwork-growth.git

2. Install the conda environment growbikenet

In your terminal, navigate to the project folder ltn-bikenetwork-growth and use conda or mamba or micromamba to run:

mamba env create -f environment.yml mamba activate growbikenet Note for MacOS users - please use environment_mac.yml when installing, this should work excatly the same but if you run in to any issues please let me know, as I'm not an Apple user!

Environment creation from command line

If the above doesn't work, you can manually create the environment from your command line (not recommended):

mamba create --override-channels -c conda-forge -n growbikenet python=3.12 osmnx=1.9.4 python-igraph watermark haversine rasterio tqdm geojson mamba activate growbikenet mamba install -c conda-forge ipywidgets pip install opencv-python pip install --user ipykernel

Set up Jupyter kernel

If you want to use the environment growbikenet in Jupyter, run:

bash python -m ipykernel install --user --name=growbikenet

This allows you to run Jupyter with the kernel growbikenet (Kernel > Change Kernel > growbikenet)

3. Install the project package

In your terminal, navigate to ltn-bikenetwork-growth and pip install the project package by running:

pip install -e .

4. Run the code locally

Single (or few/small) cities can be run locally by a manual, step-by-step execution of Jupyter notebooks:

  1. Populate parameters/cities.csv, see below. Currently only local authority districts in the North-East of the UK can be used. However, if you'd like to get further places working, raise an issue of the tracker and we can work on it!
  2. Navigate to the code folder.
  3. Run notebooks 01, 02, 03 once to download and prepare all networks and POIs.
  4. Run notebooks 04, 05 to run the processing and analysis for location
  5. Run 06 once more than one location has been processed and analysed to get further analysis

Folder structure and output

The main folder/repo is bikenwgrowth, containing Jupyter notebooks (code/), preprocessed data (data/), parameters (parameters/), result plots (plots/), HPC server scripts and jobs (scripts/).

Most of the generated data output (network plots, videos, results, exports, logs) makes up many GBs and is stored in the separate external folder bikenwgrowth_external. To set up different paths, edit code/path.py

Populating cities.csv

cities.csv holds the location of the place to analyse. As we use demand data bespoke to England and Wales throughout the analysis, only locations within these areas should be used. The file takes places in the format placeid;nominatimstring;countryid;name, so to run Newcastle we would use newcastle;Newcastle Upon Tyne;gbr;Newcastle Upon Tyne, whilst North Tyneside would take the form north_tyneside;North Tyneside;gbr;North Tyneside. note Currently only one location can be input at a time. Multi-location analysis will be included in a future update, but for now it is recommended to run through the code up to (but not including) notebook 06 with each place at a time.

Parameters

The parameters.yml contains values which can be changed to alter the analysis. It is not recommended to change any of the values currently.

Checking nominatimstring

Acquiring shape file

  • Go to Overpass, to the city, and run: relation["boundary"="administrative"]["name:en"="Copenhagen Municipality"]({{bbox}});(._;>;);out skel;
  • Export: Download as GPX
  • Use QGIS to create a polygon, with Vector > Join Multiple Lines, and Processing Toolbox > Polygonize (see Stackexchange answer 1 and Stackexchange answer 2)

Owner

  • Name: Chris
  • Login: Froguin99
  • Kind: user
  • Location: Newcastle Upon Tyne

PhD Student at EPSRC CDT in Geospatial Systems, Newcastle University, UK. Researching active travel, networks and GIS.

Citation (CITATION.cff)

cff-version: 1.0.0
message: "If you use this source code, please cite it as below."
authors:
- family-names: "Szell"
  given-names: "Michael"
  orcid: "https://orcid.org/0000-0003-3022-2483"
- family-names: "Mimar"
  given-names: "Sayat"
- family-names: "Perlman"
  given-names: "Tyler"
- family-names: "Ghoshal"
  given-names: "Gourab"
- family-names: "Sinatra"
  given-names: "Roberta"
title: "Growing urban bicycle networks"
version: 1.0.0
date-released: 2021-07-08
url: "https://github.com/mszell/bikenwgrowth"
preferred-citation:
  type: article
  authors:
  - family-names: "Szell"
    given-names: "Michael"
    orcid: "https://orcid.org/0000-0003-3022-2483"
  - family-names: "Mimar"
    given-names: "Sayat"
  - family-names: "Perlman"
    given-names: "Tyler"
  - family-names: "Ghoshal"
    given-names: "Gourab"
  - family-names: "Sinatra"
    given-names: "Roberta"
  doi: "10.1038/s41598-022-10783-y"
  journal: "Scientific Reports"
  start: 1
  end: 14 
  title: "Growing urban bicycle networks"
  issue: 6765
  volume: 12
  year: 2022

GitHub Events

Total
  • Issues event: 32
  • Watch event: 2
  • Delete event: 7
  • Issue comment event: 27
  • Member event: 3
  • Push event: 46
  • Pull request review event: 4
  • Pull request event: 8
  • Create event: 7
Last Year
  • Issues event: 32
  • Watch event: 2
  • Delete event: 7
  • Issue comment event: 27
  • Member event: 3
  • Push event: 46
  • Pull request review event: 4
  • Pull request event: 8
  • Create event: 7

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Froguin99 (8)
  • anastassiavybornova (7)
Pull Request Authors
  • Froguin99 (2)
  • anastassiavybornova (2)
Top Labels
Issue Labels
bug (8) enhancement (5) minor-fix (2) help wanted (1)
Pull Request Labels
enhancement (1)

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v3 composite
  • conda-incubator/setup-miniconda v3 composite
environment.yml pypi
  • et-xmlfile ==2.0.0
  • opencv-python ==4.10.0.84
  • openpyxl ==3.1.5
  • packcircles ==0.14
  • pyllist ==0.3
  • rustworkx ==0.15.1
  • ukcensusapi ==1.1.6
  • xlrd ==2.0.1