## ----eval=FALSE, echo=FALSE--------------------------------------------------- # # Aim: generate references.bib - run only if references change # refs = RefManageR::ReadZotero(group = "418217", .params = list(collection = "8Y9DU4DR", limit = 100)) # RefManageR::WriteBib(refs, "vignettes/references.bib") # citr::tidy_bib_file( # rmd_file = "vignettes/pct.Rmd", # messy_bibliography = "vignettes/references.bib", # file = "vignettes/refs.bib") # file.remove("vignettes/references.bib") ## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----------------------------------------------------------------------------- knitr::opts_chunk$set(eval = FALSE) ## ----eval=FALSE--------------------------------------------------------------- # remotes::install_github("ITSLeeds/pct") ## ----------------------------------------------------------------------------- # library(pct) ## ----message=FALSE------------------------------------------------------------ # library(sf) # library(dplyr) # library(stplanr) # library(leaflet) # library(ggplot2) # library(pbapply) ## ----------------------------------------------------------------------------- # wight_centroids = get_pct_centroids(region = "isle-of-wight", geography = "msoa") # wight_zones = get_pct_zones(region = "isle-of-wight", geography = "msoa") ## ----centroids, fig.show='hold'----------------------------------------------- # plot(wight_centroids[, "bicycle"]) # plot(wight_zones[, "bicycle"]) ## ----get_pct_lines------------------------------------------------------------ # wight_lines_pct = get_pct_lines(region = "isle-of-wight", geography = "msoa") ## ----------------------------------------------------------------------------- # wight_lines_30 = wight_lines_pct %>% # top_n(30, bicycle) ## ----pct-lines-min------------------------------------------------------------ # lwd = wight_lines_30$all / mean(wight_lines_30$all) * 5 # plot(wight_lines_30[c("bicycle", "car_driver", "foot")], lwd = lwd) ## ----leaflines, out.width="100%"---------------------------------------------- # pal = colorNumeric(palette = "RdYlBu", domain = wight_lines_30$bicycle) # leaflet(data = wight_lines_30) %>% # addTiles() %>% # addPolylines(weight = lwd, # color = ~ pal(bicycle)) %>% # addLegend(pal = pal, values = ~bicycle) ## ----isle-pct-bike, echo=FALSE, out.width="100%"------------------------------ # # i = magick::image_read("vignettes/isle-pct-bike.png") # knitr::include_graphics("https://user-images.githubusercontent.com/1825120/54882128-c4f02980-4e4e-11e9-8eb8-49c43507165a.png") ## ----eval=FALSE--------------------------------------------------------------- # wight_od_all = get_od(region = "wight") ## ----echo=FALSE, eval=FALSE--------------------------------------------------- # saveRDS(wight_od_all, "wight_od_all.Rds") # piggyback::pb_upload("wight_od_all.Rds") # piggyback::pb_download_url("wight_od_all.Rds") ## ----echo=FALSE--------------------------------------------------------------- # u = "https://github.com/ITSLeeds/pct/releases/download/0.5.0/wight_od_all.Rds" # wight_od_all = readRDS(url(u)) ## ----message=FALSE------------------------------------------------------------ # summary(wight_od_all$geo_code1 %in% wight_centroids$geo_code) # summary(wight_od_all$geo_code2 %in% wight_centroids$geo_code) ## ----------------------------------------------------------------------------- # wight_od = wight_od_all %>% # filter(geo_code2 %in% wight_centroids$geo_code) ## ----pct-lines---------------------------------------------------------------- # wight_lines = od2line(wight_od, wight_centroids) # nrow(wight_lines) # sum(wight_lines$all) ## ----eval=FALSE, echo=FALSE--------------------------------------------------- # # aim: test result of get_desire_lines # library(pct) # wight_od_all = get_od(region = "wight") # wight_od = wight_od_all[ # wight_od_all$geo_code2 %in% wight_centroids$geo_code,] # wight_lines_census = stplanr::od2line(wight_od, wight_centroids) # wight_lines_census2 = get_desire_lines(region = "wight") # nrow(wight_lines_census) # nrow(wight_lines_census2) ## ----------------------------------------------------------------------------- # wight_lines_census = wight_lines %>% # filter(geo_code1 != geo_code2) # nrow(wight_lines_census) # sum(wight_lines_census$all) ## ----------------------------------------------------------------------------- # wight_lines_census1 = od_oneway( # wight_lines_census, # attrib = c("all", "bicycle") # ) # nrow(wight_lines_census1) / nrow(wight_lines_census) # sum(wight_lines_census1$all) / sum(wight_lines_census$all) ## ----pct-routes-fast, eval=FALSE---------------------------------------------- # wight_routes_fast = route( # l = wight_lines_census1, # route_fun = cyclestreets::journey, # plan = "fastest") ## ----echo=FALSE, eval=FALSE--------------------------------------------------- # saveRDS(wight_routes_fast, "wight_routes_fast.Rds") # piggyback::pb_upload("wight_routes_fast.Rds") # piggyback::pb_download_url("wight_routes_fast.Rds") ## ----eval=FALSE--------------------------------------------------------------- # u = "https://github.com/ITSLeeds/pct/releases/download/0.5.0/wight_routes_fast.Rds" # wight_routes_fast = readRDS(url(u)) ## ----------------------------------------------------------------------------- # wight_lines_census_30 = wight_lines_census1 %>% # top_n(30, bicycle) ## ----eval=FALSE--------------------------------------------------------------- # wight_routes_30_cs = wight_routes_fast %>% # group_by(geo_code1, geo_code2) %>% # summarise( # all = mean(all), # bicycle = mean(bicycle), # av_incline = weighted.mean(gradient_smooth, w = distances), # length = sum(distances), # time = sum(time) # ) %>% # ungroup() %>% # top_n(30, bicycle) ## ----eval=FALSE, echo=FALSE--------------------------------------------------- # usethis::use_data(wight_routes_30_cs, overwrite = TRUE) ## ----------------------------------------------------------------------------- # d = as.numeric(st_length(wight_lines_census_30)) / 1000 # plot(d, wight_routes_30_cs$length / 1000, xlim = c(0, 10)) # abline(a = c(0, 1)) ## ----------------------------------------------------------------------------- # plot(wight_lines_30$rf_dist_km, wight_routes_30_cs$length) ## ----pct-goducth-------------------------------------------------------------- # pcycle_govtarget = uptake_pct_govtarget( # distance = wight_routes_30_cs$length, # gradient = wight_routes_30_cs$av_incline * 100 # ) ## ----------------------------------------------------------------------------- # wight_routes_30_cs$govtarget = wight_lines_census_30$bicycle + # pcycle_govtarget * wight_lines_census_30$all # wight_routes_30_cs$govtarget_pct = wight_lines_30$govtarget_slc # # ggplot(wight_routes_30_cs) + # geom_point(aes(length, govtarget), colour = "red") + # geom_point(aes(length, govtarget_pct), colour = "blue") # cor(wight_routes_30_cs$govtarget, wight_routes_30_cs$govtarget_pct) ## ----------------------------------------------------------------------------- # wight_routes_30_ls = sf::st_cast(wight_routes_30_cs, "LINESTRING") # rnet = overline(wight_routes_30_ls, "govtarget") # plot(rnet) ## ----eval=FALSE--------------------------------------------------------------- # wight_routes_fast_gt = wight_routes_fast %>% # group_by(geo_code1, geo_code2) %>% # mutate( # govtarget = uptake_pct_govtarget(sum(distances), mean(gradient_smooth)) * # (sum(all) + sum(bicycle)) # ) # wight_routes_fast_gt = sf::st_cast(wight_routes_fast_gt, "LINESTRING") # wight_rnet = overline(wight_routes_fast_gt, "govtarget") ## ----eval=FALSE, echo=FALSE--------------------------------------------------- # usethis::use_data(wight_rnet, overwrite = TRUE) ## ----out.width="100%"--------------------------------------------------------- # pal = colorNumeric(palette = "RdYlBu", domain = wight_rnet$govtarget) # leaflet(data = wight_rnet) %>% # addTiles() %>% # addPolylines(color = ~ pal(govtarget)) %>% # addLegend(pal = pal, values = ~govtarget)