From 1b174e8b2a9e03cb063bb1bc986614f5cdba0040 Mon Sep 17 00:00:00 2001 From: Ethan Moss Date: Wed, 12 Jun 2024 12:49:35 +0100 Subject: [PATCH 1/8] chore: allow explanation page asset images --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 232867ba..96994f6c 100644 --- a/.gitignore +++ b/.gitignore @@ -198,6 +198,7 @@ docs/build/ docs/_sidebar.yml docs/reference/ !docs/_static/tp_logo_white_background.png +!docs/explanation/**/*.PNG # PyBuilder .pybuilder/ From 70f0c3ed933aaca3bd7ee134a28265271c12ec34 Mon Sep 17 00:00:00 2001 From: Ethan Moss Date: Wed, 12 Jun 2024 12:50:18 +0100 Subject: [PATCH 2/8] docs: added initial tp process overview page and flowchart --- docs/explanation/calculate_tp/index.qmd | 123 +++++++++++++++++- .../calculate_tp/tp_process_overview.PNG | Bin 0 -> 19446 bytes 2 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 docs/explanation/calculate_tp/tp_process_overview.PNG diff --git a/docs/explanation/calculate_tp/index.qmd b/docs/explanation/calculate_tp/index.qmd index c3957942..213dcd18 100644 --- a/docs/explanation/calculate_tp/index.qmd +++ b/docs/explanation/calculate_tp/index.qmd @@ -1,10 +1,125 @@ --- -title: "2. Transport Performance: An Example" -description: An overview of how we used `transport_performance` to calculate the transport performance of urban centre public transit networks. -date-modified: 05/16/2024 # must be in MM/DD/YYYY format +title: "2. Transport Performance: An Overview" +description: | + An overview of how we used `transport_performance` to calculate the + transport performance of urban centre public transit networks. +date-modified: 06/12/2024 # must be in MM/DD/YYYY format categories: ["Explanation"] # see https://diataxis.fr/tutorials-how-to/#tutorials-how-to, delete as appropriate toc: true date-format: iso --- -🚧 Page under construction 🚧 +This page provides an overview of `transport_performance` and how it can be +used to analyse transport networks. It discusses the main methods and tools +used within the package and provides links to additional resources for further +reading. In particular, this page presents a methodology for assessing the +performance of urban centre public transit networks using +`transport_performance`. Although, it is possible to modify and extend the +approach presented on this page to suit the requirements of most transport +analyses including: + +- Analysis area (no strict requirement on using urban centres). +- Date of analysis +- Time of day +- Transport modes such as walking, cycling, public transit, private car (can even be multi-modal) +- Maximum journey duration + +::: {.callout-note} + +This page does not cover retrieving input data or `transport_performance` API +usage. See the [how-to](../../how_to/index.qmd), +[tutorials](../../tutorials/index.qmd), and +[API reference](../../reference/index.qmd) pages for more information on these +aspects. + +::: + +`transport_performance` can be used to assess urban centre public transit +performance by following main calculation stages as shown in @fig-tp-methods. + +::: {#fig-tp-methods layout-nrow=1} + +![](tp_process_overview.PNG) + +An overview of a methodology for calculating the transport performance of +urban centre public transit networks using `transport_performance`. + +::: + +The process starts with urban centre detection. This definition was created by +Eurostat, and represents high density population clusters (see the [Eurostat +level 1 degree of urbanisation methodology document][eurostat-uc] for more +details). In short, it is a cluster of contiguous 1Km2 grid cells +with a density of at least 1,500 inhabitants/Km2 and a total +population of at least 50,000. This definition is advantageous since it can be +applied consistently internationally. + +`transport_performance` currently works with gridded population estimates. Such +a data source is the [Global Human Settlement Layer][ghsl] (GHSL). The +[GHSL-POP][ghsl-pop] layer provides high resolution estimates with worldwide +coverage. It uses combined satellite imagery and national census data to +produce population estimates down to 100 metre grids (see [section 2.5 of the +GHSL technical paper][ghsl-pop-methods] for more details). Using +`transport_performance` it is also possible to reaggregate gridded population +estimates (e.g. from 100m to 200m grids) as a balance between achieving +granular results and performance at the transport network routing stage. + +When considering public transit performance, schedule data is a core input (for +other modalities this step is not required). The widely adopted [General +Transit Feed Specification (GTFS)][gtfs-overview] data are required for +defining the public transit network within `transport_performance`. This is +scheduled data, therefore the effects of delays (such as traffic) are not +accounted for in the final transport performance results. +`transport_performance` provides a range of GTFS validation, cleaning, and +filtering methods to pre-process the inputs for use during the transport +network routing stage. + +The underlying road/path network is built using [OpenStreetMap][osm] +(OSM) data. OSM is an open, community-maintained source of map data worldwide. +OSM data provides the spatial information about the street network, such as +road and pathway locations, speed limits, transport rules and junction +locations. With `transport_performance` it is possible to optimise these data +by spatially filtering these the area of interest (using [Osmosis]) and +removing OSM features +that are not required for transport routing (such as buildings and waterways). + +The transport network routing stage calculates the feasible journey travel +times over multiple departure times. This package uses [R5py][r5py], +which is a wrapper of [Conveyal's R5][r5] - a highly performant +transport routing engine based on [RAPTOR (Round-Based Public Transit Routing)][raptor]. +It is also is highly configurable and caters for a range of transport modalities, +including public transit, private car, cycling, and walking. This improves upon +the ONS Data Science Campus' [previous transport modelling work][dsc-otp] by +calculating robust median travel times over many journeys. Indicative travel +times at a single journey departure time can vary significantly, depending on +the public transport service availability within the locality of the journey. +Running the model across multiple consecutive journeys produces statistics that +fairly represent journey travel times within a given area. For more details see +[Fink, Klumpenhouwer, Saraiva, Pereira, and Tenkanen (2022)][r5py-paper] +and [Conway, Byrd, and van der Linden (2017)][r5-paper]. + +The final stage uses the network routing results (travel times) to calculate +the transport performance. See the [Transport Performance: A Definition](../what_is_tp/index.qmd) +page for more details on this step. + +::: {.callout-note} + +For more information on the known `transport_performance` package limitations, +see the [limitations and caveats](../limitations/index.qmd) page. + +::: + + +[eurostat-uc]: https://ec.europa.eu/eurostat/documents/3859598/15348338/KS-02-20-499-EN-N.pdf/0d412b58-046f-750b-0f48-7134f1a3a4c2?t=1669111363941#page=35 +[ghsl]: https://human-settlement.emergency.copernicus.eu/dataToolsOverview.php +[ghsl-pop]: https://human-settlement.emergency.copernicus.eu/download.php?ds=pop +[ghsl-pop-methods]: https://human-settlement.emergency.copernicus.eu/documents/GHSL_Data_Package_2023.pdf?t=1698413418 +[gtfs-overview]: https://gtfs.org/schedule/ +[osm]: https://www.openstreetmap.org/about +[r5py]: https://r5py.readthedocs.io/en/stable/ +[r5]: https://github.com/conveyal/r5 +[raptor]: https://www.microsoft.com/en-us/research/wp-content/uploads/2012/01/raptor_alenex.pdf +[r5py-paper]: https://zenodo.org/records/7060438 +[r5-paper]: https://core.ac.uk/reader/223242270 +[dsc-otp]: https://datasciencecampus.ons.gov.uk/using-open-data-to-understand-hyperlocal-differences-in-uk-public-transport-availability/ +[Osmosis]: https://wiki.openstreetmap.org/wiki/Osmosis diff --git a/docs/explanation/calculate_tp/tp_process_overview.PNG b/docs/explanation/calculate_tp/tp_process_overview.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c9cada0f959ae172becc7b5e04e1a53bdd52908c GIT binary patch literal 19446 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 ^4_yUIoGsOh#?mEn}w6<5Bzo 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 Date: Fri, 14 Jun 2024 05:21:30 +0100 Subject: [PATCH 3/8] docs: Minor typo --- docs/explanation/calculate_tp/index.qmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/explanation/calculate_tp/index.qmd b/docs/explanation/calculate_tp/index.qmd index 213dcd18..e25561df 100644 --- a/docs/explanation/calculate_tp/index.qmd +++ b/docs/explanation/calculate_tp/index.qmd @@ -49,7 +49,7 @@ urban centre public transit networks using `transport_performance`. The process starts with urban centre detection. This definition was created by Eurostat, and represents high density population clusters (see the [Eurostat level 1 degree of urbanisation methodology document][eurostat-uc] for more -details). In short, it is a cluster of contiguous 1Km2 grid cells +details). In short, it is a cluster of contiguous 1 Km2 grid cells with a density of at least 1,500 inhabitants/Km2 and a total population of at least 50,000. This definition is advantageous since it can be applied consistently internationally. From 7b1874a52e7313502d70eb95d03d9a35bad825e0 Mon Sep 17 00:00:00 2001 From: r-leyshon Date: Fri, 14 Jun 2024 06:08:44 +0100 Subject: [PATCH 4/8] docs: Opinionated language edits --- docs/explanation/calculate_tp/index.qmd | 41 ++++++++++++------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/docs/explanation/calculate_tp/index.qmd b/docs/explanation/calculate_tp/index.qmd index e25561df..f20f365d 100644 --- a/docs/explanation/calculate_tp/index.qmd +++ b/docs/explanation/calculate_tp/index.qmd @@ -1,7 +1,7 @@ --- title: "2. Transport Performance: An Overview" description: | - An overview of how we used `transport_performance` to calculate the + An overview of using the `transport_performance` package to calculate the transport performance of urban centre public transit networks. date-modified: 06/12/2024 # must be in MM/DD/YYYY format categories: ["Explanation"] # see https://diataxis.fr/tutorials-how-to/#tutorials-how-to, delete as appropriate @@ -9,19 +9,18 @@ toc: true date-format: iso --- -This page provides an overview of `transport_performance` and how it can be -used to analyse transport networks. It discusses the main methods and tools +This page discusses the main methods and tools used within the package and provides links to additional resources for further reading. In particular, this page presents a methodology for assessing the performance of urban centre public transit networks using `transport_performance`. Although, it is possible to modify and extend the -approach presented on this page to suit the requirements of most transport -analyses including: +approach presented to suit the requirements of most transport analyses +including: -- Analysis area (no strict requirement on using urban centres). +- Analysis area (no strict requirement on using [Eurostat's urban centre definition][urban centre]) - Date of analysis - Time of day -- Transport modes such as walking, cycling, public transit, private car (can even be multi-modal) +- Transport modes such as walking, cycling, public transit, private car or a combination of these modes - Maximum journey duration ::: {.callout-note} @@ -35,7 +34,7 @@ aspects. ::: `transport_performance` can be used to assess urban centre public transit -performance by following main calculation stages as shown in @fig-tp-methods. +performance by following the overall approach shown in @fig-tp-methods. ::: {#fig-tp-methods layout-nrow=1} @@ -60,7 +59,7 @@ a data source is the [Global Human Settlement Layer][ghsl] (GHSL). The coverage. It uses combined satellite imagery and national census data to produce population estimates down to 100 metre grids (see [section 2.5 of the GHSL technical paper][ghsl-pop-methods] for more details). Using -`transport_performance` it is also possible to reaggregate gridded population +`transport_performance`, it is also possible to reaggregate gridded population estimates (e.g. from 100m to 200m grids) as a balance between achieving granular results and performance at the transport network routing stage. @@ -74,27 +73,27 @@ accounted for in the final transport performance results. filtering methods to pre-process the inputs for use during the transport network routing stage. -The underlying road/path network is built using [OpenStreetMap][osm] +The underlying route network is built using [OpenStreetMap][osm] (OSM) data. OSM is an open, community-maintained source of map data worldwide. OSM data provides the spatial information about the street network, such as road and pathway locations, speed limits, transport rules and junction locations. With `transport_performance` it is possible to optimise these data -by spatially filtering these the area of interest (using [Osmosis]) and -removing OSM features -that are not required for transport routing (such as buildings and waterways). +by spatially filtering OSM files to an area of interest (using [Osmosis]). This +filtering also removes OSM features that are not required for transport routing +(such as buildings and waterways). The transport network routing stage calculates the feasible journey travel -times over multiple departure times. This package uses [R5py][r5py], -which is a wrapper of [Conveyal's R5][r5] - a highly performant -transport routing engine based on [RAPTOR (Round-Based Public Transit Routing)][raptor]. +times over multiple departure times. `transport_performance` uses [R5py][r5py], +to undertake performant transit routing with the [Round-Based Public Transit Routing engine (RAPTOR)][raptor]. It is also is highly configurable and caters for a range of transport modalities, including public transit, private car, cycling, and walking. This improves upon the ONS Data Science Campus' [previous transport modelling work][dsc-otp] by -calculating robust median travel times over many journeys. Indicative travel -times at a single journey departure time can vary significantly, depending on +calculating robust median travel times over many journeys. Calculated travel +duration at a single journey departure time can vary significantly, depending on the public transport service availability within the locality of the journey. -Running the model across multiple consecutive journeys produces statistics that -fairly represent journey travel times within a given area. For more details see +Travel time statistics are calculated across multiple consecutive journies +within a given time window. These statistics are a fairer representation of +average journey travel times within a given area. For more details, see [Fink, Klumpenhouwer, Saraiva, Pereira, and Tenkanen (2022)][r5py-paper] and [Conway, Byrd, and van der Linden (2017)][r5-paper]. @@ -117,9 +116,9 @@ see the [limitations and caveats](../limitations/index.qmd) page. [gtfs-overview]: https://gtfs.org/schedule/ [osm]: https://www.openstreetmap.org/about [r5py]: https://r5py.readthedocs.io/en/stable/ -[r5]: https://github.com/conveyal/r5 [raptor]: https://www.microsoft.com/en-us/research/wp-content/uploads/2012/01/raptor_alenex.pdf [r5py-paper]: https://zenodo.org/records/7060438 [r5-paper]: https://core.ac.uk/reader/223242270 [dsc-otp]: https://datasciencecampus.ons.gov.uk/using-open-data-to-understand-hyperlocal-differences-in-uk-public-transport-availability/ [Osmosis]: https://wiki.openstreetmap.org/wiki/Osmosis +[urban centre]: https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Glossary:Urban_centre From b96b68a58db2eea083a8c21c93f1205f476fa474 Mon Sep 17 00:00:00 2001 From: r-leyshon Date: Fri, 14 Jun 2024 06:17:51 +0100 Subject: [PATCH 5/8] chore: Minor typo & consistent link format in OSM tutorial' --- docs/tutorials/osm/index.qmd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/tutorials/osm/index.qmd b/docs/tutorials/osm/index.qmd index 4e188d44..4de5a910 100644 --- a/docs/tutorials/osm/index.qmd +++ b/docs/tutorials/osm/index.qmd @@ -148,7 +148,7 @@ that you have `osmosis` installed for this task. Define a `filtered_osm_path` object to save the filtered pbf file to. -Use the [`filter_osm()`](../../reference/osm_utils.qmd#transport_performance.osm.osm_utils.filter_osm) +Use the [`filter_osm()`](/docs/reference/osm_utils.qmd#transport_performance.osm.osm_utils.filter_osm) function to restrict the PBF file to the extent of `BBOX_LIST`. Inspect the API reference or use `help(filter_osm)` for information on all available parameters. @@ -218,7 +218,7 @@ tag IDs that are available. ### Task -Use the [`validate_osm.FindIds`](../../reference/validate_osm.qmd#transport_performance.osm.validate_osm.FindIds) +Use the [`validate_osm.FindIds`](/docs/reference/validate_osm.qmd#transport_performance.osm.validate_osm.FindIds) class to discover the full list of IDs within the pbf file saved at `filtered_osm_path`. Assign the class instance to `id_finder`. @@ -294,7 +294,7 @@ forward to visualise the points on a map. ### Task -Assign [`validate_osm.FindLocation`](../../reference/validate_osm.qmd#transport_performance.osm.validate_osm.FindLocations) +Assign [`validate_osm.FindLocations`](/docs/reference/validate_osm.qmd#transport_performance.osm.validate_osm.FindLocations) to an instance called `loc_finder`. You will need to point this class to the same filtered PBF file as you used previously. From e0178e992272465fa0a5f78d44d1669e070c9977 Mon Sep 17 00:00:00 2001 From: r-leyshon Date: Fri, 14 Jun 2024 12:01:23 +0100 Subject: [PATCH 6/8] refactor: Update process chart with mermaid diagram --- docs/explanation/calculate_tp/index.qmd | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/explanation/calculate_tp/index.qmd b/docs/explanation/calculate_tp/index.qmd index f20f365d..78bc23e1 100644 --- a/docs/explanation/calculate_tp/index.qmd +++ b/docs/explanation/calculate_tp/index.qmd @@ -38,7 +38,18 @@ performance by following the overall approach shown in @fig-tp-methods. ::: {#fig-tp-methods layout-nrow=1} -![](tp_process_overview.PNG) +```{mermaid} +flowchart LR + A[Urban centre\ndetection] --> B[Population\npreprocessing] + A --> C[Public transit schedule\npreprocessing] + A --> D[OpenStreetMap\npreprocessing] + B --> E + C --> E + D --> E + E[Transport network\nrouting] --> F[Calculate transport\nperformance] + +``` + An overview of a methodology for calculating the transport performance of urban centre public transit networks using `transport_performance`. From cdce27f5a2209f1a1cea84cc16269f38ab0be275 Mon Sep 17 00:00:00 2001 From: r-leyshon Date: Fri, 14 Jun 2024 12:02:12 +0100 Subject: [PATCH 7/8] chore: Remove old process chart png --- .../calculate_tp/tp_process_overview.PNG | Bin 19446 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/explanation/calculate_tp/tp_process_overview.PNG diff --git a/docs/explanation/calculate_tp/tp_process_overview.PNG b/docs/explanation/calculate_tp/tp_process_overview.PNG deleted file mode 100644 index c9cada0f959ae172becc7b5e04e1a53bdd52908c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19446 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 ^4_yUIoGsOh#?mEn}w6<5Bzo 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 Date: Fri, 14 Jun 2024 12:09:59 +0100 Subject: [PATCH 8/8] feat: Note on alternative approaches to TP calculation --- docs/explanation/calculate_tp/index.qmd | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/explanation/calculate_tp/index.qmd b/docs/explanation/calculate_tp/index.qmd index 78bc23e1..e18a770e 100644 --- a/docs/explanation/calculate_tp/index.qmd +++ b/docs/explanation/calculate_tp/index.qmd @@ -29,7 +29,10 @@ This page does not cover retrieving input data or `transport_performance` API usage. See the [how-to](../../how_to/index.qmd), [tutorials](../../tutorials/index.qmd), and [API reference](../../reference/index.qmd) pages for more information on these -aspects. +aspects. It should be noted that `transport_performance` will work with any +custom boundary provided, in which case urban centre detection will not be +required. Also that public transit schedule preprocessing is not required for +modalities other than public transit. :::