opentripplanner is an R package that provides a simple yet flexible interface to OpenTripPlanner (OTP). OTP is a multimodal trip planning service written in Java. For more information on what OTP is, see the prerequisites 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 the getting started vignette, while advanced functionality such as batch routing, isochrones, and customised setup is described in the advanced features vignette.
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 the prerequisites vignette.
To install the stable CRAN version:
install.packages("opentripplanner") # Install Package library(opentripplanner) # Load Package
Install the development version using remotes:
# If you do not already have the remotes package install.packages("remotes") # Install the package from GitHub remotes::install_github("ropensci/opentripplanner") # Load the package library(opentripplanner)
From version 0.3.0 of
opentripplanner the package
used for JSON parsing. This package is not supported on some older
versions or R (\<= 3.6) and some older Operating Systems. To meet CRAN
requirements version 0.3.1 added a legacy mode for older versions of R.
This legacy mode has reduced functionality and users on old systems may
get better results using version 0.2.3 of the package. You can install
older versions using remotes.
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_isochrone()To get isochrone maps;
otp_geocode()To get the locations of named places e.g. road names.
Results are returned as sf objects.
This package was built off the tutorial by Marcus Young.
Please note that the
opentripplanner project is released with a
Contributor Code of
By contributing to this project, you agree to abide by its terms. Bug
reports and comments are welcome as Github
Issues and code
submissions as Pull
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
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.