Introduction:
In the dynamic landscape of urban development, transportation remains a critical facet of city planning, with significant implications for sustainability, efficiency, and quality of life. This report presents an in-depth geospatial analysis of Vancouver’s transportation infrastructure, focusing on the integration and implications of the city’s bikeway network, rapid transit stations, and vehicle crash data. As Vancouver continues to emerge as a leading example of urban modernity in Canada, the need to understand and optimize its transportation framework becomes increasingly pertinent.
The study is rooted in a comprehensive exploration of three key datasets: the configuration and usage of the city’s bikeways, the strategic distribution of rapid transit stations, and the incidence and distribution of traffic-related crashes. These datasets were meticulously curated from the City of Vancouver’s Open Data Portal, which provides a rich repository of publicly accessible, georeferenced data, offering a granular view of the city’s transportation narrative.
The analysis undertaken herein is twofold. Firstly, it evaluates the accessibility and connectivity of the cycling infrastructure to the broader public transit system, a critical aspect in promoting sustainable urban transit. Secondly, it examines the overlay of vehicle crash data onto the transportation network to gauge safety levels and identify potential areas for infrastructure improvement. This report will not only highlight how these elements coalesce to shape the commuting experience but will also pinpoint areas where policy interventions can enhance urban mobility.
Bikeway Types:
# Load required libraries
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.2
##
## 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
# Read the bikeways data from Excel file
bikeways_data <- read_excel("C:/Users/vela8270/Desktop/Assignment for GG 501/Vancouver/bikeways.xlsx")
# Count of bikeway types
bikeway_type_counts <- bikeways_data %>%
group_by(`Bikeway Type`) %>%
summarise(Count = n())
# View the counts
print(bikeway_type_counts)
## # A tibble: 4 × 2
## `Bikeway Type` Count
## <chr> <int>
## 1 Local Street 2365
## 2 Painted Lanes 450
## 3 Protected Bike Lanes 659
## 4 Shared Lanes 194
Rapid Transit Stations:
# Load necessary libraries
library(sf)
## Warning: package 'sf' was built under R version 4.3.2
## Linking to GEOS 3.11.2, GDAL 3.7.2, PROJ 9.3.0; sf_use_s2() is TRUE
library(leaflet)
library(readxl)
library(stringr)
## Warning: package 'stringr' was built under R version 4.3.2
# Read transit stations data from Excel file
transit_stations_data <- read_excel("C:/Users/vela8270/Desktop/Assignment for GG 501/Vancouver/rapidtransitstations.xlsx")
# Extract latitude and longitude from the 'geo_point_2d' column
transit_stations_data$lat <- as.numeric(str_extract(transit_stations_data$geo_point_2d, "^[^,]+"))
transit_stations_data$lon <- as.numeric(str_extract(transit_stations_data$geo_point_2d, "(?<=,)[^,]+$"))
# Convert transit stations data to spatial points
transit_stations_sf <- st_as_sf(transit_stations_data, coords = c("lon", "lat"), crs = 4326)
# Create a Leaflet map of Vancouver
vancouver_map <- leaflet() %>%
setView(lng = -123.1207, lat = 49.2827, zoom = 12) %>%
addTiles() # Add default basemap
# Add transit stations to the map
vancouver_map <- addMarkers(map = vancouver_map, data = transit_stations_sf, popup = ~STATION)
# Print the map
vancouver_map
This code will plot the bike routes and rapid transit stations, which will help us analyse.
# Load required libraries
library(sf)
library(leaflet)
library(readxl)
library(stringr)
# Set the path to the shapefile directory
shapefile_path <- "C:/Users/vela8270/Desktop/Assignment for GG 501/Vancouver"
# Read the shapefile
local_shapefile <- st_read(dsn = file.path(shapefile_path, "local.shp"))
## Reading layer `local' from data source
## `C:\Users\vela8270\Desktop\Assignment for GG 501\Vancouver\local.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 22 features and 0 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -123.2248 ymin: 49.19894 xmax: -123.0232 ymax: 49.29581
## CRS: NA
# Check if CRS is missing and assign one if necessary (assuming WGS84)
if(is.na(st_crs(local_shapefile))) {
st_crs(local_shapefile) <- st_crs(4326)
}
# Read the bikeways data from Excel file
bikeways_data <- read_excel("C:/Users/vela8270/Desktop/Assignment for GG 501/Vancouver/bikeways.xlsx")
# Assuming 'geo_point_2d' column in bikeways_data contains latitude and longitude pairs
# Convert the 'geo_point_2d' column into separate latitude and longitude columns
bikeways_data$lat <- as.numeric(str_extract(bikeways_data$geo_point_2d, "^[^,]+"))
bikeways_data$lon <- as.numeric(str_extract(bikeways_data$geo_point_2d, "(?<=,)[^,]+$"))
# Read transit stations data from Excel file
transit_stations_data <- read_excel("C:/Users/vela8270/Desktop/Assignment for GG 501/Vancouver/rapidtransitstations.xlsx")
# Extract latitude and longitude from the 'geo_point_2d' column
transit_stations_data$lat <- as.numeric(str_extract(transit_stations_data$geo_point_2d, "[-+]?[0-9]*\\.?[0-9]+"))
transit_stations_data$lon <- as.numeric(str_extract(transit_stations_data$geo_point_2d, "[-+]?[0-9]*\\.?[0-9]+$"))
# Create a Leaflet map
leaflet() %>%
setView(lng = mean(st_coordinates(local_shapefile)[, 1]), lat = mean(st_coordinates(local_shapefile)[, 2]), zoom = 12) %>%
addTiles() %>%
addPolygons(data = local_shapefile, color = "blue", fillOpacity = 0.2, group = "Local Boundaries") %>%
addCircleMarkers(data = bikeways_data, lng = ~lon, lat = ~lat, color = "red", radius = 3, group = "Bikeways") %>%
addCircleMarkers(data = transit_stations_data, lng = ~lon, lat = ~lat, color = "green", radius = 5, group = "Transit Stations") %>%
addLayersControl(
overlayGroups = c("Local Boundaries", "Bikeways", "Transit Stations"),
options = layersControlOptions(collapsed = FALSE)
)
Downtown Core and the Canada Line: The presence of rapid transit stations, such as those along the Canada Line (e.g., Vancouver City Centre and Yaletown-Roundhouse), enhances mobility within the downtown core. These stations, in conjunction with the extensive bikeway network, create a highly effective transportation hub for commuters and tourists alike.
Broadway Corridor and the Millennium Line: The Broadway corridor is set to benefit from the Millennium Line’s extension, which will likely include stations at key intersections such as Broadway-City Hall. This expansion aims to improve accessibility to one of the busiest streets in Vancouver and will likely complement the existing bikeway infrastructure.
Commercial-Broadway Station: As one of the major transit hubs where the Expo and Millennium Lines converge, Commercial-Broadway Station’s connectivity is augmented by nearby bikeways. This supports the intermodal transfer, allowing commuters to switch seamlessly between cycling and rapid transit.
Olympic Village Station and the False Creek Area: Stations like the Olympic Village on the Canada Line serve high-density residential neighborhoods and are well-integrated with cycling paths, encouraging residents to use a combination of cycling and rapid transit for their daily commute.
Joyce-Collingwood and Metrotown Stations: In the more suburban areas, like around the Joyce-Collingwood and Metrotown Stations, the bikeways can offer a crucial link to the SkyTrain network, enabling residents in these neighborhoods to commute efficiently into the city center or other parts of Metro Vancouver.
UBC and SFU Access: Although not directly served by SkyTrain lines, the University of British Columbia (UBC) and Simon Fraser University (SFU) benefit from express bus services that are linked to the transit stations. Bikeways that connect to bus routes serving these institutions help in facilitating sustainable access to higher education campuses.
By emphasizing specific locations and their connection to both bikeways and rapid transit stations, we can underscore the synergistic effects of Vancouver’s transportation planning, which aims to create an integrated, accessible, and sustainable urban mobility system.
Crash Data:
# Load required libraries
library(dplyr)
library(leaflet)
# Specify the file path
file_path <- "C:/Users/vela8270/Desktop/Assignment for GG 501/Vancouver/csv file/LowerMainlandCrashes_Full Data_data.csv"
# Load crash data
crashData <- read.csv(file_path)
# Group data by intersection and summarize crash count
groupedData <- crashData %>%
group_by(Location, Longitude, Latitude) %>%
summarize(totalCrashes = sum(Crash.Count), .groups = "drop")
# Define Vancouver coordinates
vancouver <- c(49.2827, -123.1207) # Coordinates for Vancouver
# Define function to assign color based on crash count
colorCrashCount <- function(count) {
ifelse(count <= 99, "yellow",
ifelse(count <= 199, "blue",
ifelse(count <= 599, "red", "black")))
}
# Create a leaflet map centered around Vancouver
map <- leaflet() %>%
addTiles() %>%
setView(lng = vancouver[2], lat = vancouver[1], zoom = 10) # Set initial zoom level
# Add markers for crash locations
map <- map %>%
addCircleMarkers(data = groupedData,
lng = ~Longitude, lat = ~Latitude,
radius = ~totalCrashes/60, # Adjust radius based on crash count
color = ~colorCrashCount(totalCrashes), fillOpacity = 0.7,
popup = paste("Location: ", groupedData$Location, "<br>",
"Total Crashes: ", groupedData$totalCrashes)) # Popup with crash details
# Define legend labels and colors
legend_values <- c("<= 99", "100 - 199", "200 - 599", ">= 600")
legend_colors <- c("yellow", "blue", "red", "black")
# Add legend to map
map <- addLegend(map, position = "bottomright", colors = legend_colors, labels = legend_values, opacity = 0.7,
title = "Crash Count Scale")
# Display the map
map
Crash Data In this section, the locations where crashes are most likely to occur can be analysed. Using ICBC crash data, we found that the majority of crashes are most likely to occur at the intersections as well as entry and exit points of highways. The above map helps to visualize the frequency of crashes in different areas.
We found that large multi-lane intersections, especially those with complex traffic patterns, are a hot spot for crashes. These intersections often require drivers to navigate multiple turning lanes and merge with oncoming traffic, making it difficult to maintain situational awareness and avoid collisions. Additionally, intersections located near busy commercial or residential areas may have high volumes of pedestrians and cyclists, further increasing the risk of accidents Entry points of highways can also be dangerous areas for drivers. These areas are typically designed to allow vehicles to merge onto highways at high speeds, which can be challenging for some drivers.
In conclusion, the highest count of crashes in Vancouver occurs in areas where drastic speed changes occur, such as highway entrances and exits, large multi-lane intersections, bridge entrances and exits, and sloped streets. Keeping in mind, the coming influx of new Canadians with new drivers licenses may be a factor for the city to consider for the future development of road networks in Vancouver. Addressing these high-risk areas through road design improvements, increased enforcement, and public education campaigns could help reduce the incidence of crashes and improve traffic safety in Vancouver.
Closing Remarks:
since Vancouver is expecting a large influx of new British Columbians over the next 20 years, now is a critical time for city developers and planners to take action. This review include focusing on developing another central business area outside of the City of Vancouver in which new jobs may be made for the increasing population, in addition to relocating current jobs within Vancouver to outside of the city, closer to home for those who face greater kilometer traveled per capita. Another obvious solution would be to propose “build a new skytrain line” however, this may be intangible at the moment as the city is focused on effective policy changes rather than drastic public infrastructure projects.