Street Maps (of Some Cities)
Some beautiful street maps
By Harshvardhan in R
May 28, 2022
Over the last few days, I dabbled with maps in R. Two days ago, I made a map of all the cities I’ve visited. Today, I thought to make street maps of some of them (and other cool cities).
The dark grey lines are highways and roadways, light grey lines are other streets and blue is water.
Jhumri Tilaiya, India
Indore, India
Riga, Latvia
Knoxville, United States
New Delhi, India
Sydney, Australia
New York, United States
Boston, United States
London, United Kingdom
The function to generate these is not complicated. For a detailed tutorial, see this tutorial. Here’s the function that I used.
library(tidyverse)
library(osmdata)
city_mapper = function(city)
{
lts = getbb(city)
streets = getbb(city)%>%
opq()%>%
add_osm_feature(key = "highway",
value = c("motorway", "primary",
"secondary", "tertiary")) %>%
osmdata_sf()
small_streets = getbb(city)%>%
opq()%>%
add_osm_feature(key = "highway",
value = c("residential", "living_street",
"unclassified",
"service", "footway")) %>%
osmdata_sf()
river = getbb(city)%>%
opq()%>%
add_osm_feature(key = "waterway", value = "river") %>%
osmdata_sf()
p = ggplot() +
geom_sf(data = streets$osm_lines,
inherit.aes = FALSE,
color = "#282828", #3C280D
size = .5,
alpha = .7) +
geom_sf(data = small_streets$osm_lines,
inherit.aes = FALSE,
color = "#909090", #795C34
size = .4,
alpha = .4) +
geom_sf(data = river$osm_lines,
inherit.aes = FALSE,
color = "#03026F",
size = .7,
alpha = .8) +
coord_sf(xlim = c(lts[1], lts[3]),
ylim = c(lts[2], lts[4]),
expand = FALSE) +
theme_void() +
labs(caption = "Learn more: harsh17.in/city-maps")
return(p)
}