opentripplanner is an R package that provides a simple yet flexible interface toOpenTripPlanner (OTP). OTP is a multimodal trip planning service written in Java. For more information on what OTP is, see theprerequisites vignette.
opentripplanner can be used to interface with a remote instance of OTP (e.g. a website) or help you set up and manage a local version of OTP for private use. Basic setup and routing functions are outlined in thegetting started vignette, while advanced functionality such as batch routing, isochrones, and customised setup is described in theadvanced features vignette.
What’s New
The newest version of the package 0.5.0 (Jan 2023) focuses on increased routing speeds (3-4x faster) and expanding support for OTP v2.2. The new version also drops legacy support for R 3.6, and so now requires R 4.0 or later. Seenews for more details.
Installation
OpenTripPlanner
To use OpenTripPlanner on your local computer you will need to install Java 8 and download the latest version of OTP. Instructions on installing Java and setting up OTP can be found in theprerequisites vignette.
R Package
To install the stable CRAN version:
install.packages("opentripplanner")# Install Packagelibrary(opentripplanner)# Load Package
Install the development version usingremotes:
# If you do not already have the remotes packageinstall.packages("remotes")# Install the package from GitHubremotes::install_github("ropensci/opentripplanner")# Load the packagelibrary(opentripplanner)
Usage
The package contains three groups of functions:
Functions for setting up a local instance of OTP:
otp_dl_jar()
To download the OTP Jar file;otp_dl_demo()
To download the demo data for the Isle of Wight;otp_check_java()
To check you have the correct version of Java;otp_build_graph()
To make a OTP graph from raw data;otp_setup()
To start up a local instance of OTP;otp_make_config()
To make a config object;otp_validate_config()
To validate a config object;otp_write_config()
To save a config object as a json file.
Functions for connecting to a local or remote instance of OTP:
otp_connect()
To connect to OTP.
Functions for retrieving data from OTP:
otp_plan()
To get routes from A to B;otp_geocode()
To get the locations of named places e.g. road names (OTP 1.x only);otp_isochrone()
To get isochrone maps (OTP 1.x only);otp_make_surface()
To make an analyst surface (OTP 1.x only);otp_surface()
To evaluate a analyst surface (OTP 1.x only);otp_traveltime()
To make a travel time matrix (OTP 1.x only);otp_surface_isochrone()
To make a raster isochrone map (OTP 1.x only);
Results are returned assf objects.
Acknowledgement
This package was built off thetutorial by Marcus Young.
Contribution
Please note that theopentripplanner
project is released with aContributor Code of Conduct. By contributing to this project, you agree to abide by its terms. Bug reports and comments are welcome as GithubIssues and code submissions asPull Requests.
Citation
Please cite the JOSS paper in publications:
Morgan et al., (2019). OpenTripPlanner for R. Journal of Open Source Software, 4(44), 1926,https://doi.org/10.21105/joss.01926