Skip to content

datasciencecampus/transport-network-performance

Repository files navigation

Repository status is still in development (caution required) Build status badge on mac Build status badge on linux Build status badge on windows Integration Tests Docs status badge

transport-network-performance

⚠️ This repository is still in the development phase. Caution should be taken before using or referencing this work in any way - use it at your own risk.

Introduction

transport_performance provides a method for analysing the efficiency of moving people into and around urban centres. The method employed here builds upon that established by Poelman et al, European Commission 2020. Specifically, this python package provides features useful for:

  • Defining an urban centre boundary based upon contiguous population density.
  • Inspecting, cleaning and filtering public transit data in GTFS format.
  • Inspecting and filtering Open Street Map data in PBF format.
  • Multimodal routing with r5 using r5py to create travel time matrices.
  • Calculation of transport performance statistics.

Developers

We welcome contributions from others. Please check out our code of conduct and contributing guidance.

Installation

Describe technical set-up. Such as the required dependencies.

This package is designed to work with python 3.9.13. Full functionality is tested on macos only. Other operating systems may be incompatible with transport_performance.osm specifically.

The transport modelling features in transport_performance.analyse_network depends upon a compatible Java Development Kit (JDK). Please consult the r5py installation docs and our Contributing Guidance for more on configuring a JDK.

Usage

Installation

Currently, transport_performance is not published to PyPI or Conda Forge. To use the code, we suggest forking the repository and cloning the fork to your development environment.

git clone <INSERT_CLONE_URL>/transport-network-performance.git

We recommend running the package with a virtual environment such as conda or venv.

With conda:

conda create -n transport-performance python=3.9.13 -y

Once completed, activate the environment:

conda activate transport-performance

Install the python requirements:

pip install -r requirements.txt

Additional Java dependencies are required for full functionality. See the contributing guidance for assistance.

Required Data

You will need the following data, appropriate to the territory that you wish to analyse:

Usage

For guidance on how to use the transport_performance package, consult the end to end notebooks. These notebooks demonstrate the workflow required to calculate transport performance in a number of urban centres.

Transport performance folium map of Newport, South Wales.

Understanding Transport Performance

Transport performance is a statistic developed by The European Commission that allows measurement and comparison of how efficiently people move through transport networks.

In the example below, transport performance is visualised for a single location in Cardiff.

Google (2021) A4161 Cardiff. Available at: http://maps.google.co.uk (Accessed: 11 December 2023).

Using this location as the journey origin, travel times to the surrounding neighbourhood within 45 minutes can be calculated. The proximal population that can be reached is summed. This population would be reachable from the journey origin if travel at 15 km/h in a straight line were possible. This assumption is coherent with the European Commission’s assumption of average travel speed by public transport.

The accessible population for the same journey duration is also calculated. This is the number of people reachable from the journey origin by public transport and walking modes.

To calculate the transport performance statistic, the ratio of accessible to proximal population is taken.

Breakdown of Transport Performance statistic.

The transport performance statistic is calculated for every 200 m2 cell in the urban centre. As the journey departure time is known to affect the available public transport services, varying the departure time results in differing transport performance. In order to produce a less volatile statistic, the transport performance for every cell is calculated at 1 minute interval departure times between 08:00 and 09:00 on a single day. The chosen date in this example is Wednesday 22nd November 2023, a day that is representative of average public transport service in the public transport schedules.

Data Science Campus

At the Data Science Campus we apply data science, and build skills, for public good across the UK and internationally. Get in touch with the Campus at datasciencecampus@ons.gov.uk.

License

The code, unless otherwise stated, is released under the MIT Licence.

The documentation for this work is subject to © Crown copyright and is available under the terms of the Open Government 3.0 licence.

About

Measuring the performance of transport networks around urban centres

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.note

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages