84 lines
No EOL
2.5 KiB
Text
84 lines
No EOL
2.5 KiB
Text
---
|
|
title: "mobile_bike_repair_maps"
|
|
output: html_document
|
|
---
|
|
|
|
## Libraries
|
|
```{r libs, eval = TRUE, echo = TRUE, results = "show", warning = FALSE, error = TRUE, message = FALSE}
|
|
date()
|
|
rm(list=ls())
|
|
library(tidyverse)
|
|
library(ggmap)
|
|
library(sf)
|
|
library(osrm)
|
|
library(smoothr)
|
|
library(ggnewscale)
|
|
library(RColorBrewer)
|
|
library(magick)
|
|
library(rsvg)
|
|
```
|
|
|
|
## Load repair event location data
|
|
```{r repaireventlocations, eval = TRUE, echo = TRUE, results = "show", warning = FALSE, error = TRUE, message = FALSE}
|
|
|
|
MKE_MBR_sites <- st_read(dsn = "data/MBR/2025_MKE_MBR_sites.kml")
|
|
MKE_MBR_sites <- MKE_MBR_sites |>
|
|
mutate(long = st_coordinates(geometry)[,1],
|
|
lat = st_coordinates(geometry)[,2])
|
|
|
|
```
|
|
|
|
|
|
## Load API keys from StadiaMaps and the census
|
|
```{r APIkeys, eval = TRUE, echo = TRUE, results = "show", warning = FALSE, error = TRUE, message = FALSE}
|
|
# register stadia API key ----
|
|
register_stadiamaps(key = substr(read_file(file = "api_keys/stadia_api_key"), 1, 36))
|
|
#options(ggmap.file_drawer = "basemaps")
|
|
# dir.create(file_drawer(), recursive = TRUE, showWarnings = FALSE)
|
|
# saveRDS(list(), file_drawer("index.rds"))
|
|
#readRDS(file_drawer("index.rds"))
|
|
#file_drawer("index.rds")
|
|
|
|
# load census api key ----
|
|
#census_api_key(key = substr(read_file(file = "api_keys/census_api_key"), 1, 40))
|
|
```
|
|
|
|
|
|
## create maps
|
|
```{r createmaps, eval = TRUE, echo = TRUE, results = "show", warning = FALSE, error = TRUE, message = FALSE}
|
|
|
|
# create bounding box from school, 5km away.
|
|
bbox <- st_bbox(st_transform(st_buffer(MKE_MBR_sites %>% pull(geometry), dist = 500), crs = 4326))
|
|
bbox <- c(left = as.double(bbox[1]),
|
|
bottom = as.double(bbox[2]),
|
|
right = as.double(bbox[3]),
|
|
top = as.double(bbox[4]))
|
|
|
|
#get basemap
|
|
basemap <- get_stadiamap(bbox = bbox, zoom = 13, maptype = "stamen_toner_lite")
|
|
|
|
# generate map
|
|
ggmap(basemap) +
|
|
labs(title = "Mobile bike repair events in Milwaukee - 2025",
|
|
caption = paste0("basemap from StadiaMaps and OpenStreetMap Contributers"),
|
|
x = NULL,
|
|
y = NULL) +
|
|
theme(axis.text=element_blank(),
|
|
axis.ticks=element_blank(),
|
|
plot.caption = element_text(color = "grey")) +
|
|
geom_point(data = MKE_MBR_sites,
|
|
aes(x = long,
|
|
y = lat),
|
|
shape = 23,
|
|
color = "black",
|
|
fill = "aquamarine4",
|
|
size = 5)
|
|
|
|
ggsave(file = "figures/MBR/2025-repair-events.png",
|
|
device = png,
|
|
height = 8.5,
|
|
width = 11,
|
|
dpi = 600,
|
|
units = "in",
|
|
create.dir = TRUE)
|
|
``` |