X-Git-Url: http://git.vanrenterghem.biz/R/project-wa-schools.git/blobdiff_plain/50417261b375a912e448e460fca150f4186fef10..HEAD:/WA_active_schools.R diff --git a/WA_active_schools.R b/WA_active_schools.R index 0811702..7ca4a00 100644 --- a/WA_active_schools.R +++ b/WA_active_schools.R @@ -11,11 +11,11 @@ tempdirSHP <- tempdir() tempfileSHP <- tempfile() req <- request("https://sso.slip.wa.gov.au/as/token.oauth2") |> req_headers("Authorization" = "Basic ZGlyZWN0LWRvd25sb2Fk") |> - req_body_form(list("grant_type" = "password", - # SLIP username and password stored in - #pass - the standard unix password manager - "username" = system2("pass", args = "slip.wa.gov.au | grep Username | sed -e 's/Username: //'", stdout = TRUE), - "password" = system2("pass", args = "slip.wa.gov.au | head -1", stdout = TRUE))) + req_body_form(grant_type = "password", + # SLIP username and password stored in + # pass - the standard unix password manager + username = system2("pass", args = "slip.wa.gov.au | grep Username | sed -e 's/Username: //'", stdout = TRUE), + password = system2("pass", args = "slip.wa.gov.au | head -1", stdout = TRUE)) tokenResponse <- req_perform(req) @@ -78,30 +78,32 @@ sfg_metro <- st_polygon(list(rbind(c(lon.metro[1],lat.metro[1]), c(lon.metro[1],lat.metro[2]), c(lon.metro[1],lat.metro[1]) ))) -metroTiles <- get_tiles(st_transform(st_sfc(sfg_metro, crs = 4326), 3857), provider = "Stadia.Stamen.TonerLite", crop = TRUE, zoom = 11) +metroTiles <- get_tiles(st_transform(st_sfc(sfg_metro, crs = 4326), 3857), provider = "CartoDB.PositronNoLabels", crop = TRUE, zoom = 11) # Let's look at secondary school only # 95th percentile of school size secon95th <- quantile(shape.metro.df[,"totalsecon">0]$totalsecon,probs = .95) ggplot() + - geom_spatraster_rgb(data = metroTiles) + - geom_sf(data = filter(shape.metro.df, totalsecon > 0), - aes(color = totalsecon, - size = totalsecon), - ) + - geom_sf_label(data = filter(shape.metro.df, totalsecon > secon95th), # name top 5% schools - aes(x = longitude, - y = latitude, - label = schoolname), - size = 2) + - scale_color_viridis(option="viridis", - name = "Number\nof pupils") + - guides(size = 'none') + # Do not show legend for size, as color is the main key - theme(legend.position = "right", - axis.text = element_blank(), - axis.ticks = element_blank()) + - labs(title = "Western Australian secondary schools", - subtitle = "Perth metro area", - caption = "Map tiles by Stamen Design, under CC BY 3.0.\nMapdata by OpenStreetMap, under ODbL. - School data © Government of WA 2022.\n Dep. of Education & Training.", + geom_spatraster_rgb(data = metroTiles) + + geom_sf(data = filter(shape.metro.df, totalsecon > 0), + aes(color = totalsecon, + size = totalsecon) + ) + + geom_sf_text(data = filter(shape.metro.df, totalsecon > secon95th), # name top 5% schools + aes(x = longitude, + y = latitude, + label = schoolname), + size = 2) + + scale_color_viridis(option="cividis", + name = "Number\nof pupils") + + guides(size = 'none') + # Do not show legend for size, as color is the main key + theme_minimal() + + theme(legend.position = "right", + panel.grid.major = element_line(colour = "white"), + axis.ticks = element_blank()) + + labs(title = "Western Australian secondary schools", + subtitle = "Perth metro area", + caption = "Map tiles © CARTO. Mapdata by OpenStreetMap, under ODbL.\nSchool data © Government of WA, Dep. of Education & Training.", x="", y="") + +ggsave("WA_schools.png", units = "cm", width = 15, height = 15, dpi = 300, bg = "white", scale = 1.5)