inst/doc/detailed_itineraries.R

## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval = identical(tolower(Sys.getenv("NOT_CRAN")), "true"),
  out.width = "100%"
)

## ---- message = FALSE---------------------------------------------------------
#  # increase Java memory
#  options(java.parameters = "-Xmx2G")
#  
#  # load libraries
#  library(r5r)
#  library(sf)
#  library(ggplot2)
#  library(data.table)
#  
#  # build a routable transport network with r5r
#  data_path <- system.file("extdata/poa", package = "r5r")
#  r5r_core <- setup_r5(data_path)
#  
#  # routing inputs
#  mode <- c('walk', 'transit')
#  max_trip_duration <- 60 # minutes
#  
#  # departure time
#  departure_datetime <- as.POSIXct("13-05-2019 14:00:00",
#                                   format = "%d-%m-%Y %H:%M:%S")
#  
#  # load origin/destination points
#  poi <- fread(file.path(data_path, "poa_points_of_interest.csv"))
#  

## ---- message = FALSE---------------------------------------------------------
#  # set inputs
#  origins <- poi[10,]
#  destinations <- poi[12,]
#  mode <- c("WALK", "TRANSIT")
#  max_walk_time <- 60
#  departure_datetime <- as.POSIXct("13-05-2019 14:00:00",
#                                   format = "%d-%m-%Y %H:%M:%S")
#  
#  # calculate detailed itineraries
#  det <- detailed_itineraries(r5r_core = r5r_core,
#                              origins = origins,
#                              destinations = destinations,
#                              mode = mode,
#                              departure_datetime = departure_datetime,
#                              max_walk_time = max_walk_time,
#                              suboptimal_minutes = 8,
#                              shortest_path = FALSE)
#  
#  head(det)

## ----detailed head, echo = FALSE, out.width='100%', message = FALSE, eval = FALSE----
#  knitr::include_graphics("https://github.com/ipeaGIT/r5r/blob/master/r-package/inst/img/vig_output_detailed.png?raw=true")

## ---- message = FALSE---------------------------------------------------------
#  # extract OSM network
#  street_net <- street_network_to_sf(r5r_core)
#  
#  # extract public transport network
#  transit_net <- r5r::transit_network_to_sf(r5r_core)
#  
#  # plot
#  fig <- ggplot() +
#          geom_sf(data = street_net$edges, color='gray85') +
#          geom_sf(data = subset(det, option <4), aes(color=mode)) +
#          facet_wrap(.~option) +
#          theme_void()
#  
#  fig

## ---- message = FALSE, eval = FALSE-------------------------------------------
#  # SAVE image
#  ggsave(plot = fig, filename = 'inst/img/vig_detailed_ggplot.png',
#         height = 5, width = 15, units='cm', dpi=200)

## ----ggplot2 output, echo = FALSE, out.width='100%', message = FALSE, eval = FALSE----
#  knitr::include_graphics("https://github.com/ipeaGIT/r5r/blob/master/r-package/inst/img/vig_detailed_ggplot.png?raw=true")

## ---- message = FALSE, eval = FALSE-------------------------------------------
#  library(gtfstools)
#  
#  # location of your frequency-based GTFS
#  freq_gtfs_file <- system.file("extdata/spo/spo.zip", package = "r5r")
#  
#  # read GTFS data
#  freq_gtfs <- gtfstools::read_gtfs(freq_gtfs_file)
#  
#  # convert from frequencies to time tables
#  stop_times_gtfs <- gtfstools::frequencies_to_stop_times(freq_gtfs)
#  
#  # save it as a new GTFS.zip file
#  gtfstools::write_gtfs(gtfs = stop_times_gtfs,
#                        path = tempfile(pattern = 'stop_times_gtfs', fileext = '.zip'))
#  
#  

## ---- message = FALSE---------------------------------------------------------
#  r5r::stop_r5(r5r_core)
#  rJava::.jgc(R.gc = TRUE)

Try the r5r package in your browser

Any scripts or data that you put into this service are public.

r5r documentation built on Aug. 8, 2023, 9:07 a.m.