## ----pkg-load, echo = FALSE, message = FALSE---------------------------------- library (gtfsrouter) ## ----DTthread, echo = FALSE--------------------------------------------------- # Necessary for CRAN to avoid CPU / elapsed time ratios being too high nthr <- data.table::setDTthreads (1) ## ----berlin_gtfs-------------------------------------------------------------- berlin_gtfs_to_zip () f <- file.path (tempdir (), "vbb.zip") file.exists (f) gtfs <- extract_gtfs (f) ## ----route1-fakey, eval = FALSE----------------------------------------------- # from <- "Innsbrucker Platz" # to <- "Alexanderplatz" # gtfs_route ( # gtfs, # from = from, # to = to # ) ## ----route1, eval = TRUE, echo = FALSE---------------------------------------- from <- "Innsbrucker Platz" to <- "Alexanderplatz" knitr::kable (gtfs_route ( gtfs, from = from, to = to, start_time = "12:00:00" )) ## ----route2, eval = TRUE------------------------------------------------------ route <- gtfs_route ( gtfs, from = from, to = to, start_time = "12:00:00", day = "Sunday" ) ## ----timetable---------------------------------------------------------------- gtfs <- extract_gtfs (f) from <- "Innsbrucker Platz" to <- "Alexanderplatz" system.time ( gtfs_route ( gtfs, from = from, to = to, start_time = "12:00:00", day = "Sunday" ) ) names (gtfs) # explicit pre-processing to extract timetable for Sunday gtfs <- gtfs_timetable (gtfs, day = "Sunday" ) names (gtfs) system.time (gtfs_route ( gtfs, from = from, to = to, start_time = "12:00:00" )) ## ----gtfs_route_table-fakey, eval = FALSE------------------------------------- # head (gtfs$route) ## ----gtfs_route_table, echo = FALSE------------------------------------------- knitr::kable (head (gtfs$route)) ## ----route3-fakey, eval = FALSE----------------------------------------------- # gtfs_route ( # gtfs, # from = from, # to = to, # start_time = "12:00:00", # day = "Sunday", # route_pattern = "^S" # ) ## ----route3, echo = FALSE, eval = TRUE---------------------------------------- knitr::kable (gtfs_route ( gtfs, from = from, to = to, start_time = "12:00:00", day = "Sunday", route_pattern = "^S" )) ## ----route4a-fakey, eval = FALSE---------------------------------------------- # from <- "Alexanderplatz" # to <- "Pankow" # gtfs_route ( # gtfs, # from = from, # to = to, # start_time = "12:00:00", # day = "Sunday", # earliest_arrival = FALSE # ) ## ----route4a, eval = TRUE, echo = FALSE--------------------------------------- from <- "Alexanderplatz" to <- "Pankow" r1 <- gtfs_route ( gtfs, from = from, to = to, start_time = "12:00:00", day = "Sunday" ) r2 <- gtfs_route ( gtfs, from = from, to = to, start_time = "12:00:00", day = "Sunday", earliest_arrival = FALSE ) knitr::kable (r2) ## ----route4b-fakey, eval = FALSE---------------------------------------------- # gtfs_route ( # gtfs, # from = from, # to = to, # start_time = "12:00:00", # day = "Sunday", # earliest_arrival = TRUE # ) ## ----route4b, eval = TRUE, echo = FALSE--------------------------------------- knitr::kable (r1) diff_arrival <- gtfsrouter:::convert_time (r2$arrival_time [nrow (r2)]) - gtfsrouter:::convert_time (r1$arrival_time [nrow (r1)]) diff_depart <- gtfsrouter:::convert_time (r1$departure_time [1]) - gtfsrouter:::convert_time (r2$departure_time [1]) mm <- floor (diff_depart / 60) ss <- diff_depart - mm * 60 diff_depart <- paste0 (mm, "min, ", ss, "s") diff_total <- (gtfsrouter:::convert_time (r2$arrival_time [nrow (r2)]) - gtfsrouter:::convert_time (r2$departure_time [1])) - (gtfsrouter:::convert_time (r1$arrival_time [nrow (r1)]) - gtfsrouter:::convert_time (r1$departure_time [1])) mm <- floor (diff_total / 60) ss <- diff_total - mm * 60 diff_total <- paste0 (mm, "min, ", ss, "s") ## ----home-work-fakey1, eval = FALSE------------------------------------------- # go_home () ## ----home-work-setup, echo = FALSE-------------------------------------------- Sys.setenv ("gtfs_home" = "Innsbrucker Platz") Sys.setenv ("gtfs_work" = "Alexanderplatz") Sys.setenv ("gtfs_data" = file.path (tempdir (), "vbb.zip")) data.table::setDTthreads (1) # See ?setDTthreads: setenv resets it process_gtfs_local () # If not already done go_home (start_time = "12:20") # next available service ## ----home-work-setup2, eval = FALSE------------------------------------------- # Sys.setenv ("gtfs_home" = "") # Sys.setenv ("gtfs_work" = "") # Sys.setenv ("gtfs_data" = "/full/path/to/gtfs.zip") ## ----home-work-setup3, eval = FALSE------------------------------------------- # process_gtfs_local () ## ----home-work-fakey2, eval = FALSE------------------------------------------- # go_home (wait = 1) ## ----home-work2, echo = FALSE------------------------------------------------- go_home (start_time = "12:20", wait = 1) ## ----DTthread-reset, echo = FALSE--------------------------------------------- data.table::setDTthreads (nthr)