Breaking changes

  • r5r uses now JDK 21 or higher (Breaking changes). Closed #350.
  • r5r now uses the latest version of R5 V7.1. Closed #350

Major changes

  • r5r now stores R5 Jar file at user dir using tools::R_user_dir()
  • New function r5r_cache() to manage the cache of the R5 Jar file.
  • By using the JDK 21, this version of r5r also fixed an incompatibility with MAC ARM processors. Closed #315

Minor changes

  • In the accessibility() function, the value of max_trip_duration is now capped by the max value passed to the cutoffs parameter. Closes #342.
  • Updated documentation of parameter max_walk_time to make it clear that in walk-only trips, whenever max_walk_time differs from max_trip_duration, the lowest value is considered. Closes #353
  • Updated documentation of parameter max_bike_time to make it clear that in bicycle-only trips, whenever max_bike_time differs from max_trip_duration, the lowest value is considered. Closes #353
  • Improved documentation of parameter suboptimal_minutes in the detailed_itineraries() function.
  • Updated the vignette on time window to explain how this parameter behaves when used in the detailed_itineraries() function.

Bug Fixes - Fixed bug that prevented the use the output_dir parameter in the detailed_itineraries(all_to_all = TRUE) function. Closes #327 with a contribution (PR #354) from Luyu Liu. - Fixed bug that prevented detailed_itineraries from working with frequency-based GTFS feeds. It should ONLY work with frequency-based GTFS feeds.

New contributors to r5r - Luyu Liu

Major changes

  • New isochrone()function. Closes #123, and addresses requrests in issues #164 and #328.
  • New vignette about calculating / visualizing isochrones with r5r.
  • New vignette with responses to frequently asked questions (FAQ) from r5r users.

Minor changes

  • The default value of time_window is not set to 10 minutes in all functions to avoid weird results reported upstream in R5. Closes #342.
  • Removed any mention to percentiles parameter in the expanded_travel_time_matrix() because this function does not expose this parameter to users. Closes #343.
  • Updated vignette on calculating / visualizing accessibility with r5r.

Bug fixes

  • Updated to R5 version 6.9. This fixed a few bugs upstream, one of which often prevented users to build a network using cropped OSM data. Closes #325.

Breaking changes

  • Replaced max_walk_dist and max_bike_dist parameters with max_walk_time and max_bike_time to better align with R5 inputs. Closes #273.
  • r5r now uses R5’s native elevation weighting for walking and cycling impedance functions. As a result r5r does not have raster or rgdal package dependencies anymore. Closes #243 and #233.
  • Parameters breakdown and breakdown_stat in travel_time_matrix() were removed. New function expanded_travel_time_matrix() should be used to retrieve detailed information of travel time matrices.
  • r5rnow throws an error if users simultaneously pass more than one of the following modes c('WALK','CAR','BICYCLE') to the transport_mode parameter. This is because these modes are understood as mutually exclusive.
  • Function setup_r5() no longer has a version parameter.

New functions

  • New function expanded_travel_time_matrix() to calculate minute-by-minute travel times between origin destination pairs and get additional information on public transport routes, number of transfers, and total access, waiting, in-vehicle and transfer times.
  • New function pareto_frontier() to compute of travel time and monetary cost Pareto frontier.
  • New function r5r_sitrep() to generate an r5r situation report to help debug code errors
  • New functions to account for monetary costs:

Major changes

  • Now using R5 latest version 6.8.
  • The detailed_itineraries() has been substantially improved. The new vesion is faster than previous ones. It also includes new parameters listed below. Closes #265.
    • New time_window parameter
    • New suboptimal_minutes parameter, which extends the search space and returns a larger number of trips beyond the fastest ones;
    • Support for fare calculator and new max_fare parameter;
    • Routing in frequencies GFTS, including support for Monte Carlo draws
  • New parameter draws_per_minute to travel_time_matrix(), accessibility() and pareto_frontier() functions. Closes #230.
  • New parameter output_dir to all routing functions, which can be used to specify a directory in which the results should be saved as .csv files (one file for each origin). This parameter is particularly useful when running estimates on memory-constrained settings, because writing the results to disk prevents R5 from storing them in memory.
  • The accessibility estimates from accessibility() are now of returned as doubles / class numeric, except when using a step decay function. Closes #235.
  • The detailed_itineraries() function has a new parameter all_to_all, which allows users to set whether they want to query routes between all origins to all destinations (all_to_all = TRUE) or to query routes between the 1st origin to the 1st destination, then the 2nd origin to the 2nd destination, and so on (all_to_all = FALSE, the default). Closes #224.

Minor changes

  • Package documentation has been extensively updated and expanded.
  • Improved documentation of the cutoffs parameter in accessibility(), clarifying the function only accepts up to 12 cutoff values. Closes #216.
  • Improved documentation of the percentiles parameter in accessibility() and travel_time_matrix(), clarifying these function only accepts up to 5 values. Closes #246.
  • r5r now downloads R5 Jar directly from Conveyal’s github, making the package more stable. Closes #226.
  • All functions now use verbose = FALSE and progress = FALSE by default.
  • Routing functions now require users to be non-ambiguous when specifying the modes, raising errors when it cannot disambiguate them. This new behaviour replaces the old one, in which the functions could end up trying to “guess” which mode was to be used in some edge cases.
  • Information on bicycle ‘level of traffic stress’ is now added to the output of street_network_to_sf(). Closes #251.
  • New columns with info on population, schools and jobs in the example data sets for Sao Paulo and Porto Alegre

Bug fixes

  • Fixed bug that transit_network_to_sf() generated some routes with invalid geometries. Closes #256.
  • Fixed bug that prevented setup_r5(path, overwrite = TRUE) to work.

Minor change

  • Replaced the akima package with interp package in r5r Suggests, as requested by CRAN.

Major changes

  • From this version onwards, r5r downloads R5 JAR from github, which provides more stable connection than Ipea server.
  • The number of Monte Carlo draws to perform per time window minute when calculating travel time matrices and when estimating accessibility is now set via the r5r.montecarlo_draws option. Defaults to 5. This would mean 300 draws in a 60 minutes time window, for example. The user may also set a custom value using options(r5r.montecarlo_draws = 10L) (in which you substitute 10L by the value you want to set).

Minor changes

  • Changed total_time column name to combined_time in travel_time_matrix() output, to avoid confusion with travel_time column.

Major changes

  • Updated R5 to version 6.4. Closes #182.

  • Significant performance improvements in all functions, due to a faster method for consolidating outputs. Closes #180

  • New function transit_network_to_sf(), to extract the public transport network from R5 as simple features. Closes #179

  • New progress parameter in the accessibility(), travel_time_matrix, and detailed_itineraries() functions, to show or hide the progress counter indicator. Closes #186

  • Created new support function java_to_dt() and removed dependency on the jdx package. Closes #206

  • Reduced r5r’s internet dependency quite considerably. Internet is now only required to download the latest R5 jar if it hasn’t been downloaded before. Closes #197.

  • Added two new parameters breakdown and breakdown_stat to the travel_time_matrix(). This allows users to breakdown the travel time information by trip subcomponents (access time, waiting time, traveling time etc). It allows one to extract more information but it makes computation time slower. Closes #194

Minor changes

  • New setup_r5() parameter, overwrite, that forces the building of a new network.dat, even if one already exists.
  • Improved documentation of parameter departure_datetime to clarify the parameter must be set to local time. Closes #188
  • Improved documentation regarding personalized LTS values. Closes #190.
  • Improved documentation of transit_network_to_sf() regarding stops that are not snapped to road network. Closes #192.
  • Improved documentation of max_walking_dist and max_cycling_dist parameters. Closes #193.
  • Started raising an error if the CRS of origins/destinations is not WGS 84. Closes #201.

Major changes

  • New function accessibility() to calculate access to opportunities. Closes #169

  • New function find_snap() to help users identify where in the street network the input of origin and destination points are snapped to. Closes 168.

  • New parameter max_bike_dist added to routing and accessibility functions. Closes #174

  • Implemented temporary solution for elevation. Closes #171. Now r5r can read Digital Elevation Model (DEM) data from raster files in .tif format to weight the street network for walking and cycling according to the terrain’s slopes. Ideally, we would like to see a solution that accounts for elevation implemented upstream in R5. For now, this is a temporary solution implemented within r5r.

Minor changes

  • The street_network_to_sf() now has a more clean output when the provided GTFS covers a larger area than the street network pbf. Closes #173

  • The size of poa.zip sample GTFS data has been reduced due to CRAN policies. Closes #172.

  • Progress counter Implemented. Closes 150. When the verbose parameter is set to FALSE, r5r prints a progress counter and eventual ERROR messages. This comes with a minor penalty for computation performance. Hence we have kept verbose defautls to TRUE.

Bug fixes

  • Fixed bug that prevented r5r from running without internet connection. Closes #163.

Major changes

Minor changes

  • New support function check_connection() to check internect connection before download files from Ipea server.

Major changes

Minor changes

Bug fixes

Minor changes

  • r5r does not save the medatada file in the package directory anymore, following CRAN’s policies. Closed #136.

Minor changes

  • Allow for combination of bicycle and public transport. Closed #135.
  • Added new parameter mode_egress to routing functions, so that users can explicitly set the transport mode used after egress from public transport (walk, car or bicycle). Closed #63.
  • Allow for using the r5r package off-line, provided the user has successfully ran setup_r5() before.

Major changes

  • Added Conveyal’s R5 repo as a git submodule. This will help improve the long term integration between r5r and R5. Closed #105.
  • Internal changes to make r5r compatible with R5 latest version 6.0.1.

Minor changes

  • Added columns with population and number of schools in sample data set of Porto Alegre to allow for accessibility examples. Closed #128.
  • The percentiles parameter in the travel_time_matrix function now only accepts up to 5 cut points due to changes in R5.

Minor changes

  • Expanded number of routes in the sample GTFS for Porto Alegre, allowing for more complex/realistic examples.
  • Fixes format of columns of the output of travel_matrix_function when the user sets time_window parameter. Closes #127.
  • Remove repeated bus route alternatives from the output from detailed_itineraries
  • Explicitly link destination points to street network before starting. Closes #121

Major changes

  • Function travel_time_matrix now has new parameters time_window and percentiles it now calculates travel times for multiple departure times each minute within a given time window. For now, the function automatically set the number of Monte Carlo Draws to 5 times the size of time_window. Closes #104 and #118

Minor changes

  • Added a sample of frequency-based GTFS for Sao Paulo. Closed #116
  • Improved documentation of routing functions adding more info on the routing algorithms used in R5. Closes #114

Minor changes

  • Fixed issues with time zone when setting departure times
  • Fixed issues to address CRAN checks
    • Now r5r can be installed on R (>= 3.6)
    • Appropriate hyperlinks indocumentation
    • Metadata is now downloaded from https:// server