4️⃣ Retrieve road data from OSM. We define a bounding box for Amsterdam and fetch major roads using the osmdata package.
Why it matters: Urban planning and transportation studies benefit from visualizing road networks.
💻 # 2. OpenStreetMap (OSM)
#-----------------------
# install osmdata and load packages
remotes::install_github("ropensci/osmdata")
pacman::p_load(osmdata, tidyverse)
# define area of interest (Amsterdam)
bbox <- osmdata::getbb("Amsterdam, Netherlands")
# fetch OSM road data
roads_data <- osmdata::opq(bbox) |>
osmdata::add_osm_feature(
key = "highway",
value = c("motorway", "primary", "secondary")
) |> osmdata::osmdata_sf()
roads <- roads_data$osm_lines
# plot roads
ggplot(data = roads)
geom_sf(color = "deeppink1")
theme_void()
labs(title = "Amsterdam Major Roads")