Prepare a cohesive cycling network using NPT data
cohesive_network_prep.Rd
This function prepares the base network for generating a cohesive cycling network using NPT data. It integrates two different road network data sources within a specified target zone to produce a cohesive cycling network that considers specific road attributes.
Usage
cohesive_network_prep(
base_network,
influence_network,
target_zone,
crs = "EPSG:27700",
key_attribute = "road_function",
attribute_values = c("A Road", "B Road", "Minor Road"),
use_stplanr = FALSE
)
Arguments
- base_network
Base road network object from Open Road, class 'sf'.
- influence_network
NPT road network object, which contains influence factors like all_fastest_bicycle_go_dutch, class 'sf'.
- target_zone
Target zone, a polygon of a study area, such as a 3km radius around Edinburgh city centre, class 'sf'.
- crs
Coordinate reference system to use, default is "EPSG:27700".
- key_attribute
The attribute in the network data to filter by and influence the outcome.
- attribute_values
Values of the key_attribute to retain in the network.
- use_stplanr
Logical value indicating whether to use the stplanr package for merging
Examples
library(sf)
#> Linking to GEOS 3.12.1, GDAL 3.8.4, PROJ 9.4.0; sf_use_s2() is TRUE
library(zonebuilder)
library(dplyr)
#>
#> Attaching package: ‘dplyr’
#> The following objects are masked from ‘package:stats’:
#>
#> filter, lag
#> The following objects are masked from ‘package:base’:
#>
#> intersect, setdiff, setequal, union
library(tmaptools)
# Load demo data
os_edinburgh_demo_3km = sf::st_set_crs(os_edinburgh_demo_3km, 27700)
NPT_demo_3km = sf::st_set_crs(NPT_demo_3km, 27700)
base_network = sf::st_transform(os_edinburgh_demo_3km, crs = 27700)
influence_network = sf::st_transform(NPT_demo_3km, crs = 27700)
target_zone = zonebuilder::zb_zone("Edinburgh", n_circles = 3) |> sf::st_transform(crs = "EPSG:27700")
# Prepare the cohesive network
OS_NPT_demo = cohesive_network_prep( base_network = base_network,
influence_network = influence_network,
target_zone = target_zone,
key_attribute = "road_function",
crs = "EPSG:27700",
attribute_values = c("A Road", "B Road", "Minor Road"))
#> Aggregating attribute: 'all_fastest_bicycle_go_dutch' using function: 'sum'.
#> [1] "Finished preparing the network data"