⚠️ 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.
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.
We welcome contributions from others. Please check out our code of conduct and contributing guidance.
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.
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.
You will need the following data, appropriate to the territory that you wish to analyse:
- Open Street Map data in PBF format.
- Public Transport Schedule data in GTFS format.
- Global Human Settlement Layer population estimates.
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 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.
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.
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.
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 [email protected].
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.