13.7 Prioritizing New Infrastructure
In transport planning we identify promising locations for investment in sustainable transport infrastructure.
This new dataset is created in the code chunk below which:
- filters out the cycleway entities from the bristol_ways object representing the transport network;
- ‘unions’ the individual LINESTRING entities of the cycleways into a single multilinestring object (for speed of buffering); and
- creates a 100 m buffer around them to create a polygon:
<- bristol_ways |>
existing_cycleways_buffer filter(highway == "cycleway") |> # 1) filter out cycleways
st_union() |> # 2) unite geometries
st_buffer(dist = 100) # 3) create buffer
The next stage is to create a dataset representing points on the network where there is high cycling potential but little provision for cycling:
::compare(
waldo::st_crs(route_network_scenario),
sf::st_crs(existing_cycleways_buffer)
sf
)
= st_difference(
route_network_no_infra # route_network_scenario,
# Temporary workaround, see https://github.com/geocompx/geocompr/issues/863:
|> st_set_crs(st_crs(existing_cycleways_buffer)),
route_network_scenario
existing_cycleways_buffer
)
qtm(route_network_no_infra, basemaps = leaflet::providers$Esri.WorldTopoMap,
lines.lwd = 5)
The method has some limitations: in reality, people do not travel to zone centroids or always use the shortest route algorithm for a particular mode.