Learn R Programming

OpenTripPlanner for R

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.

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. See news 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 the prerequisites vignette.

R Package

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)

Usage

The package contains three groups of functions:

Functions for setting up a local instance of OTP:

  1. otp_dl_jar() To download the OTP Jar file;
  2. otp_dl_demo() To download the demo data for the Isle of Wight;
  3. otp_check_java() To check you have the correct version of Java;
  4. otp_build_graph() To make a OTP graph from raw data;
  5. otp_setup() To start up a local instance of OTP;
  6. otp_make_config() To make a config object;
  7. otp_validate_config() To validate a config object;
  8. otp_write_config() To save a config object as a json file.

Functions for connecting to a local or remote instance of OTP:

  1. otp_connect() To connect to OTP.

Functions for retrieving data from OTP:

  1. otp_plan() To get routes from A to B;
  2. otp_geocode() To get the locations of named places e.g. road names (OTP 1.x only);
  3. otp_isochrone() To get isochrone maps (OTP 1.x only);
  4. otp_make_surface() To make an analyst surface (OTP 1.x only);
  5. otp_surface() To evaluate a analyst surface (OTP 1.x only);
  6. otp_traveltime() To make a travel time matrix (OTP 1.x only);
  7. otp_surface_isochrone() To make a raster isochrone map (OTP 1.x only);

Results are returned as sf objects.

Acknowledgement

This package was built off the tutorial by Marcus Young.

Contribution

Please note that the opentripplanner project is released with a Contributor Code of Conduct. 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 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

Copy Link

Version

Install

install.packages('opentripplanner')

Monthly Downloads

831

Version

0.5.1

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Malcolm Morgan

Last Published

February 2nd, 2023

Functions in opentripplanner (0.5.1)

otp_routing_options

Make routingOptions object
otp_pointset

Create a pointset
otp_surface_isochrone

Make an isochrone from a surface
otp_traveltime

Get travel times between points
otp_isochrone

Get the Isochrones from a location
otp_geocode

Use OTP Geo-coder to find a location
otp_write_config

Write config object as json file
otp_make_surface

Make a Surface
otp_make_config

Make Config Object
otp_surface

Evaluate a surface against a pointset
otp_validate_routing_options

Validate routingOptions object
otp_stop

Stop and OTP Instance
otp_validate_config

Validate Config Object
json_example_drive

Example JSON for driving
otp_dl_jar

Download OTP Jar File
otp_check_version

Check the what version of OTP the server is running
otp_dl_demo

Download Demo Data
otp_connect

Set up and confirm a connection to an OTP instance.
otp_check_java

Check Java version
otp_build_graph

Build an OTP Graph
otp_plan

Get get a route or routes from the OTP
otp_setup

Set up an OTP instance.
json_example_long_drive

Example JSON for driving long distance
json_example_transit

Example JSON for transit
opentripplanner-package

OpenTripPlanner of R