Skip to content

Instantly share code, notes, and snippets.

@benjaminrobinson
Created January 15, 2020 04:17
Show Gist options
  • Select an option

  • Save benjaminrobinson/a1439f059fcc63db835f3c422dbe090b to your computer and use it in GitHub Desktop.

Select an option

Save benjaminrobinson/a1439f059fcc63db835f3c422dbe090b to your computer and use it in GitHub Desktop.
DC State Streets that also intersect in the real world
options(stringsAsFactors = FALSE)
library(tidyverse)
library(sf)
library(rvest)
'https://thefactfile.org/u-s-states-and-their-border-states/' %>%
read_html %>%
html_table %>%
.[[1]] %>%
setNames(c("state_number", "REGISTEREDNAME", "state_border", "num_border")) %>%
mutate_at(vars(num_border, state_border), ~ ifelse(. == 'None', NA, .)) %>%
mutate_all(~ str_squish(.)) %>%
mutate(REGISTEREDNAME.1 = str_split(state_border, ", ")) %>%
unnest(REGISTEREDNAME.1) %>%
mutate_all(~ toupper(.)) %>%
select(2,5) -> border
'https://opendata.arcgis.com/datasets/23246020d6894453bdfcee00956df818_41.geojson' %>%
read_sf %>%
inner_join(
data.frame(
REGISTEREDNAME = toupper(state.name)
)
) -> tmp
tmp %>%
st_intersection(tmp) %>%
filter(OBJECTID != OBJECTID.1) %>%
count(REGISTEREDNAME, REGISTEREDNAME.1) %>%
filter(REGISTEREDNAME != REGISTEREDNAME.1) %>%
as.data.frame %>%
select(-3:-4) %>%
inner_join(
border
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment