Cartography/Leaflet Homework
Create a map similar to this map from the Washington Post (open the link in an incognito window to avoid the paywall if you need) for Richmond using the educational attainment data linked below and census tracts that you will download with the tigris
package
library( sf )
# Download the tigris package if necessary
if( !require( tigris) ) {
install.packages("tigris")
library( tigris)
}
education_url <- "https://github.com/dyerlab/ENVS-Lectures/raw/master/data/edu_attainment-shp.zip"
tracts <- tracts("VA", "Richmond city") %>%
st_transform(4326)
Map Requirements
Dot density map of education attainment when zoomed out, with dot color based on attainment level
Choropleth map of education attainment level by census tracts when zoomed in
Legend
Scale bar
At least one feature with a pop-up or label
If you get stuck transforming the education attainment data from points to polygons you can download this csv. It is a tally of the number of points per tract by education attainment. It is up to you what metric to use to color the polygons.
LS0tCnRpdGxlOiAiTGVhZmxldCBIb21ld29yayIKYXV0aG9yOiAiWU9VUiBOQU1FIEhFUkUiCmRhdGU6ICIzLzE1LzIwMjEiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMjIENhcnRvZ3JhcGh5L0xlYWZsZXQgSG9tZXdvcmsKCkNyZWF0ZSBhIG1hcCBzaW1pbGFyIHRvIFt0aGlzIG1hcCBmcm9tIHRoZSBXYXNoaW5ndG9uIFBvc3RdKGh0dHBzOi8vd3d3Lndhc2hpbmd0b25wb3N0LmNvbS9zZi9sb2NhbC8yMDEzLzExLzA5L3dhc2hpbmd0b24tYS13b3JsZC1hcGFydC8pIChvcGVuIHRoZSBsaW5rIGluIGFuIGluY29nbml0byB3aW5kb3cgdG8gYXZvaWQgdGhlIHBheXdhbGwgaWYgeW91IG5lZWQpIGZvciBSaWNobW9uZCB1c2luZyB0aGUgZWR1Y2F0aW9uYWwgYXR0YWlubWVudCBkYXRhIGxpbmtlZCBiZWxvdyBhbmQgY2Vuc3VzIHRyYWN0cyB0aGF0IHlvdSB3aWxsIGRvd25sb2FkIHdpdGggdGhlIGB0aWdyaXNgIHBhY2thZ2UKCmBgYHtyIGV2YWw9RkFMU0V9CmxpYnJhcnkoIHNmICkKCiMgRG93bmxvYWQgdGhlIHRpZ3JpcyBwYWNrYWdlIGlmIG5lY2Vzc2FyeQppZiggIXJlcXVpcmUoIHRpZ3JpcykgKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygidGlncmlzIikKICBsaWJyYXJ5KCB0aWdyaXMpCn0KCmVkdWNhdGlvbl91cmwgPC0gImh0dHBzOi8vZ2l0aHViLmNvbS9keWVybGFiL0VOVlMtTGVjdHVyZXMvcmF3L21hc3Rlci9kYXRhL2VkdV9hdHRhaW5tZW50LXNocC56aXAiCgp0cmFjdHMgPC0gdHJhY3RzKCJWQSIsICJSaWNobW9uZCBjaXR5IikgJT4lCiAgc3RfdHJhbnNmb3JtKDQzMjYpCgpgYGAKCgojIyMgTWFwIFJlcXVpcmVtZW50cwoKLSBEb3QgZGVuc2l0eSBtYXAgb2YgZWR1Y2F0aW9uIGF0dGFpbm1lbnQgd2hlbiB6b29tZWQgb3V0LCB3aXRoIGRvdCBjb2xvciBiYXNlZCBvbiBhdHRhaW5tZW50IGxldmVsCgotIENob3JvcGxldGggbWFwIG9mIGVkdWNhdGlvbiBhdHRhaW5tZW50IGxldmVsIGJ5IGNlbnN1cyB0cmFjdHMgd2hlbiB6b29tZWQgaW4KICAKICAtIFtgcGl2b3Rfd2lkZXIoKWBdKGh0dHBzOi8vY3Jhbi5yLXByb2plY3Qub3JnL3dlYi9wYWNrYWdlcy90aWR5ci92aWduZXR0ZXMvcGl2b3QuaHRtbCkgYW5kIFtgdGFsbHkoKWBdKGh0dHBzOi8vZHBseXIudGlkeXZlcnNlLm9yZy9yZWZlcmVuY2UvdGFsbHkuaHRtbCkgd2VyZSBoZWxwZnVsIGZvciBtZSB0byBjb21iaW5lIHRoZSBwb2ludCBkYXRhIGFuZCB0aGUgdHJhY3RzIHBvbHlnb25zCgotIExlZ2VuZAoKLSBTY2FsZSBiYXIKCi0gQXQgbGVhc3Qgb25lIGZlYXR1cmUgd2l0aCBhIHBvcC11cCBvciBsYWJlbAoKCi0tLQoKSWYgeW91IGdldCBzdHVjayB0cmFuc2Zvcm1pbmcgdGhlIGVkdWNhdGlvbiBhdHRhaW5tZW50IGRhdGEgZnJvbSBwb2ludHMgdG8gcG9seWdvbnMgeW91IGNhbiBkb3dubG9hZCBbdGhpcyBjc3ZdKGh0dHBzOi8vZ2l0aHViLmNvbS9keWVybGFiL0VOVlMtTGVjdHVyZXMvcmF3L21hc3Rlci9kYXRhL2VkdV90YWxseS5jc3YpLiBJdCBpcyBhIHRhbGx5IG9mIHRoZSBudW1iZXIgb2YgcG9pbnRzIHBlciB0cmFjdCBieSBlZHVjYXRpb24gYXR0YWlubWVudC4gSXQgaXMgdXAgdG8geW91IHdoYXQgbWV0cmljIHRvIHVzZSB0byBjb2xvciB0aGUgcG9seWdvbnMuCgoKIA==