Package 'opentripplanner'

Title: Setup and connect to 'OpenTripPlanner'
Description: Setup and connect to 'OpenTripPlanner' (OTP) <http://www.opentripplanner.org/>. OTP is an open source platform for multi-modal and multi-agency journey planning written in 'Java'. The package allows you to manage a local version or connect to remote OTP server to find walking, cycling, driving, or transit routes. This package has been peer-reviewed by rOpenSci (v. 0.2.0.0).
Authors: Malcolm Morgan [aut, cre] , Marcus Young [aut] , Robin Lovelace [aut] , Layik Hama [ctb]
Maintainer: Malcolm Morgan <[email protected]>
License: GPL-3
Version: 0.5.2
Built: 2024-08-29 22:56:14 UTC
Source: https://github.com/ropensci/opentripplanner

Help Index


OpenTripPlanner of R

Description

The goal of OpenTripPlanner for R is to provide a simple R interface to OpenTripPlanner (OTP). The OTP is a multimodal trip planning service.

Author(s)

Maintainer: Malcolm Morgan [email protected] (ORCID)

Authors:

Other contributors:

See Also

Useful links:


Example JSON for driving

Description

Example JSON response from OTP This is used for internal testing and has no use

Usage

json_example_drive

Format

json


Example JSON for driving long distance

Description

Example JSON response from OTP This is used for internal testing and has no use

Usage

json_example_long_drive

Format

json


Example JSON for transit

Description

Example JSON response from OTP This is used for internal testing and has no use

Usage

json_example_transit

Format

json


Build an OTP Graph

Description

OTP is run in Java and requires Java commands to be typed into the command line. The function allows the parameters to be defined in R and automatically passed to Java. This function builds a OTP graph from the Open Street Map and other files.

Usage

otp_build_graph(
  otp = NULL,
  dir = NULL,
  memory = 2048,
  router = "default",
  flag64bit = TRUE,
  quiet = TRUE,
  otp_version = NULL
)

Arguments

otp

A character string, path to the OTP .jar file

dir

A character string, path to a directory containing the necessary files, see details

memory

A positive integer. Amount of memory to assign to the OTP in MB, default is 2048

router

A character string for the name of the router, must subfolder of dir/graphs, default "default". See vignettes for details.

flag64bit

Logical, if true the -d64 flag is added to Java instructions, ignored if otp_version >= 2

quiet

Logical, if FALSE the Java commands will be printed to console

otp_version

Numeric, version of OTP to build, default NULL when version is auto-detected

Details

The OTP .jar file can be downloaded from https://repo1.maven.org/maven2/org/opentripplanner/otp/

To build an OTP graph requires the following files to be in the directory specified by the dir variable.

/graphs - A sub-directory

/default - A sub-directory with the name of the OTP router used in router' variable

osm.pbf - Required, pbf file containing the Open Street Map

router-config.json - Required, json file containing configurations settings for the OTP

gtfs.zip - Optional, and number of GTFS files with transit timetables

terrain.tif - Optional, GeoTiff image of terrain map

The function will accept any file name for the .jar file, but it must be the only .jar file in that directory OTP can support multiple routers (e.g. different regions), each router must have its own sub-directory in the graphs directory

Value

Character vector of messages produced by OTP, and will return the message "Graph built" if successful

See Also

Other setup: otp_check_java(), otp_check_version(), otp_dl_demo(), otp_dl_jar(), otp_make_config(), otp_setup(), otp_stop(), otp_validate_config(), otp_write_config()

Examples

## Not run: 
log <- otp_build_graph(otp = "C:/otp/otp.jar", dir = "C:/data")

## End(Not run)

Check Java version

Description

Check if you have the correct version of Java for running OTP locally

Usage

otp_check_java(otp_version = 1.5)

Arguments

otp_version

numeric, OTP version number default 1.5

See Also

Other setup: otp_build_graph(), otp_check_version(), otp_dl_demo(), otp_dl_jar(), otp_make_config(), otp_setup(), otp_stop(), otp_validate_config(), otp_write_config()


Check the what version of OTP the server is running

Description

Check the what version of OTP the server is running

Usage

otp_check_version(otpcon, warn = TRUE)

Arguments

otpcon

otpcon object from otp_connect()

warn

logical, if TRUE will check that OTP version matches contents of otpcon

See Also

Other setup: otp_build_graph(), otp_check_java(), otp_dl_demo(), otp_dl_jar(), otp_make_config(), otp_setup(), otp_stop(), otp_validate_config(), otp_write_config()


Set up and confirm a connection to an OTP instance.

Description

Defines the parameters required to connect to a router on an OTP instance and, if required, confirms that the instance and router are query-able.

Usage

otp_connect(
  hostname = "localhost",
  router = "default",
  url = NULL,
  port = 8080,
  ssl = FALSE,
  check = TRUE,
  timezone = Sys.timezone(),
  otp_version = 1.5
)

Arguments

hostname

A string, e.g. "ec2-34-217-73-26.us-west-2.compute.amazonaws.com". Optional, default is "localhost".

router

A string, e.g. "UK2018". Optional, default is "default". OTP can support multiple routers see advanced vignette for details.

url

If a non-standard URL structure is used provide a full url, default is NULL

port

A positive integer. Optional, default is 8080.

ssl

Logical, indicates whether to use https. Optional, default is FALSE.

check

Logical. If TRUE connection object is only returned if OTP instance and router are confirmed reachable. Optional, default is TRUE.

timezone

Character, timezone, defaults to local timezone

otp_version

Numeric, OTP Version in use default 1.5, if check is TRUE then 'otp_check_version()' is called and otp_version is updated

Details

The default URL structure for the OTP API is: http://<hostname>:<port>/otp/routers/<router> For example: http://localhost:8080/otp/routers/default

Functions construct the URL from the parameters provided in otpconnect objects. However some websites hosting OTP have modified the default URL structure. If this is the case you can use the url parameter to bypass the URL construction and provide a fully formed URL. In this case the hostname, router, port, and ssl are ignored.

Value

Returns an S3 object of class otpconnect. If check is TRUE and the router is not reachable the object is not returned.

Examples

## Not run: 
otpcon <- otp_connect()
otpcon <- otp_connect(
  router = "UK2018",
  ssl = TRUE
)
otpcon <- otp_connect(
  hostname = "ec2.us-west-2.compute.amazonaws.com",
  router = "UK2018",
  port = 8888,
  ssl = TRUE
)
otpcon <- otp_connect(
  url = "https://api.digitransit.fi:443/routing/v1/routers/hsl"
)

## End(Not run)

Download Demo Data

Description

Download the demonstration data for the Isle of Wight

Usage

otp_dl_demo(
  path_data = NULL,
  url = paste0("https://github.com/ropensci/opentripplanner/",
    "releases/download/0.1/isle-of-wight-demo.zip"),
  quiet = FALSE
)

Arguments

path_data

path to folder where data for OTP is to be stored

url

URL to data

quiet

logical, passed to download.file, default FALSE

See Also

Other setup: otp_build_graph(), otp_check_java(), otp_check_version(), otp_dl_jar(), otp_make_config(), otp_setup(), otp_stop(), otp_validate_config(), otp_write_config()

Examples

## Not run: 
otp_dl_demo(tempdir())

## End(Not run)

Download OTP Jar File

Description

Download the OTP jar file from maven.org

Usage

otp_dl_jar(
  path = NULL,
  version = "1.5.0",
  file_name = paste0("otp-", version, "-shaded.jar"),
  url = "https://repo1.maven.org/maven2/org/opentripplanner/otp",
  quiet = FALSE,
  cache = TRUE
)

Arguments

path

path to folder where OTP is to be stored

version

a character string of the version number default is "1.5.0"

file_name

file name to give the otp default "otp.jar"

url

URL to the download server

quiet

logical, passed to download.file, default FALSE

cache

logical, default TRUE, see details

Details

As of version 0.3.0.0 'otp_dl_jar' will cache the JAR file within the package and ignore the 'path' argument. You can force a new download to be saved in the 'path' location by setting 'cache = FALSE'.

Value

The path to the OTP file

See Also

Other setup: otp_build_graph(), otp_check_java(), otp_check_version(), otp_dl_demo(), otp_make_config(), otp_setup(), otp_stop(), otp_validate_config(), otp_write_config()

Examples

## Not run: 
otp_dl_jar(tempdir())

## End(Not run)

Use OTP Geo-coder to find a location

Description

Geo-coding converts a named place, such as a street name into a lng/lat pair.

Usage

otp_geocode(
  otpcon = NULL,
  query = NULL,
  autocomplete = FALSE,
  stops = TRUE,
  clusters = FALSE,
  corners = TRUE,
  type = "SF"
)

Arguments

otpcon

OTP connection object produced by otp_connect()

query

Character, The query string we want to geocode

autocomplete

logical Whether we should use the query string to do a prefix match, default FALSE

stops

Logical, Search for stops, either by name or stop code, default TRUE

clusters

Logical, Search for clusters by their name, default FALSE

corners

Logical, Search for street corners using at least one of the street names, default TRUE

type

Character, How should results be returned can be "SF" or "Coordinates" or "Both", Default "SF"

Details

OTP will return a maximum of 10 results

Value

Returns a data.frame of SF POINTS or Coordinates of all the locations that match 'query'

See Also

Other routing: otp_isochrone(), otp_plan(), otp_pointset(), otp_routing_options(), otp_validate_routing_options()

Examples

## Not run: 
locations <- otp_geocode(otpcon, "High Street")

## End(Not run)

Get the Isochrones from a location

Description

Get the Isochrones from a location

Usage

otp_isochrone(
  otpcon = NA,
  fromPlace = NA,
  fromID = NULL,
  mode = "CAR",
  date_time = Sys.time(),
  arriveBy = FALSE,
  maxWalkDistance = 1000,
  routingOptions = NULL,
  cutoffSec = c(600, 1200, 1800, 2400, 3000, 3600),
  ncores = max(round(parallel::detectCores() * 1.25) - 1, 1),
  timezone = otpcon$timezone
)

Arguments

otpcon

OTP connection object produced by otp_connect()

fromPlace

Numeric vector, Longitude/Latitude pair, e.g. 'c(-0.134649,51.529258)', or 2 column matrix of Longitude/Latitude pairs, or sf data frame of POINTS

fromID

character vector same length as fromPlace

mode

character vector of one or more modes of travel valid values "TRANSIT","BUS", "RAIL", "SUBWAY","TRAM", "FERRY", "GONDOLA", "FUNICULAR", "AIRPLANE", "CABLE_CAR", "WALK", "BICYCLE", "BICYCLE_RENT", "BICYCLE_PARK", "CAR", "CAR_PARK", "CAR_HAIL", "CARPOOL", "CAR_DROPOFF", "CAR_PICKUP", default CAR. Not all combinations are valid e.g. c("WALK","BUS") is valid but c("WALK","CAR") is not.

date_time

POSIXct, a date and time, defaults to current date and time

arriveBy

Logical, Whether the trip should depart or arrive at the specified date and time, default FALSE

maxWalkDistance

maximum distance to walk in metres

routingOptions

named list passed to OTP see 'otp_routing_options()'

cutoffSec

Numeric vector, number of seconds to define the break points of each Isochrone

ncores

number of cores to use in parallel processing

timezone

character, timezone to use, default from otpcon

Details

Isochrones are maps of equal travel time, for a given location a map is produced showing how long it takes to reach each location.

Isochrones are only available from OTP v1.x and will not work with v2.0

Value

Returns a SF data.frame of POLYGONs

See Also

Other routing: otp_geocode(), otp_plan(), otp_pointset(), otp_routing_options(), otp_validate_routing_options()

Examples

## Not run: 
isochrone1 <- otp_isochrone(otpcon, fromPlace = c(-0.1346, 51.5292))
isochrone2 <- otp_isochrone(otpcon,
  fromPlace = c(-0.1346, 51.5292),
  mode = c("WALK", "TRANSIT"), cutoffSec = c(600, 1200, 1800)
)

## End(Not run)

Make Config Object

Description

OTP can be configured using three json files 'otp-config.json', 'build-config.json', and 'router-config.json'. This function creates a named list for each config file and populates the defaults values.

Usage

otp_make_config(type, version = 1)

Arguments

type

Which type of config file to create, "otp", "build", "router"

version

version of OPT e.g. 1 or 2

Details

For more details see: http://docs.opentripplanner.org/en/latest/Configuration

See Also

Other setup: otp_build_graph(), otp_check_java(), otp_check_version(), otp_dl_demo(), otp_dl_jar(), otp_setup(), otp_stop(), otp_validate_config(), otp_write_config()

Examples

{
  conf <- otp_make_config("build")
  conf <- otp_make_config("router")
}

Make a Surface

Description

Requires OTP 1.x and the analyst

Usage

otp_make_surface(
  otpcon = NULL,
  fromPlace = c(-1.17502, 50.6459),
  mode = "CAR",
  date_time = Sys.time(),
  maxWalkDistance = 1000,
  arriveBy = FALSE,
  routeOptions = NULL,
  timezone = otpcon$timezone,
  ncores = 1
)

Arguments

otpcon

OTP connection object produced by otp_connect()

fromPlace

Numeric vector, Longitude/Latitude pair, e.g. 'c(-0.134649,51.529258)', or 2 column matrix of Longitude/Latitude pairs, or sf data frame of POINTS with CRS 4326

mode

character vector of one or more modes of travel valid values TRANSIT, WALK, BICYCLE, CAR, BUS, RAIL, SUBWAY, TRAM, FERRY, default CAR. Not all combinations are valid e.g. c("WALK","BUS") is valid but c("WALK","CAR") is not.

date_time

POSIXct, a date and time, defaults to current date and time

maxWalkDistance

Numeric passed to OTP in metres

arriveBy

Logical, Whether the trip should depart or arrive at the specified date and time, default FALSE

routeOptions

Named list of values passed to OTP use

timezone

Character, what timezone to use, see as.POSIXct, default is local timezone

ncores

How many cores to use default = 1

Details

THis function requires the analysis and pointset features to be enabled during 'otp_setup()'. Thus it will only work with OTP 1.x. For more detail see the analyst vignette.

Value

Returns a list with information about the surface created

See Also

Other analyst: otp_traveltime()

Examples

## Not run: 
surface <- otp_make_surface(otpcon, c(-1.17502, 50.64590))

## End(Not run)

Get get a route or routes from the OTP

Description

This is the main routing function for OTP and can find single or multiple routes between 'fromPlace' and 'toPlace'.

Usage

otp_plan(
  otpcon = NA,
  fromPlace = NA,
  toPlace = NA,
  fromID = NULL,
  toID = NULL,
  mode = "CAR",
  date_time = Sys.time(),
  arriveBy = FALSE,
  maxWalkDistance = 1000,
  numItineraries = 3,
  routeOptions = NULL,
  full_elevation = FALSE,
  get_geometry = TRUE,
  ncores = max(round(parallel::detectCores() * 1.25) - 1, 1),
  timezone = otpcon$timezone,
  distance_balance = FALSE,
  get_elevation = FALSE
)

Arguments

otpcon

OTP connection object produced by otp_connect()

fromPlace

Numeric vector, Longitude/Latitude pair, e.g. 'c(-0.134649,51.529258)', or 2 column matrix of Longitude/Latitude pairs, or sf data frame of POINTS with CRS 4326

toPlace

Numeric vector, Longitude/Latitude pair, e.g. 'c(-0.088780,51.506383)', or 2 column matrix of Longitude/Latitude pairs, or sf data frame of POINTS with CRS 4326

fromID

character vector same length as fromPlace

toID

character vector same length as toPlace

mode

character vector of one or more modes of travel valid values "TRANSIT","BUS", "RAIL", "SUBWAY","TRAM", "FERRY", "GONDOLA", "FUNICULAR", "AIRPLANE", "CABLE_CAR", "WALK", "BICYCLE", "BICYCLE_RENT", "BICYCLE_PARK", "CAR", "CAR_PARK", "CAR_HAIL", "CARPOOL", "CAR_DROPOFF", "CAR_PICKUP", default "CAR". Not all combinations are valid e.g. c("WALK","BUS") is valid but c("WALK","CAR") is not.

date_time

POSIXct, a date and time, defaults to current date and time

arriveBy

Logical, Whether the trip should depart or arrive at the specified date and time, default FALSE

maxWalkDistance

Numeric passed to OTP in meters

numItineraries

The maximum number of possible itineraries to return

routeOptions

Named list of values passed to OTP use 'otp_route_options()' to make template object.

full_elevation

Logical, should the full elevation profile be returned, default FALSE

get_geometry

Logical, should the route geometry be returned, default TRUE, see details

ncores

Numeric, number of cores to use when batch processing, default 1, see details

timezone

Character, what timezone to use, see as.POSIXct, default is local timezone

distance_balance

Logical, use distance balancing, default false, see details

get_elevation

Logical, default FALSE, if true XYZ coordinates returned else XY coordinates returned.

Details

This function returns a SF data.frame with one row for each leg of the journey (a leg is defined by a change in mode). For transit, more than one route option may be returned and is indicated by the 'route_option' column. The number of different itineraries can be set with the 'numItineraries' variable.

## Batch Routing

When passing a matrix or SF data frame object to fromPlace and toPlace 'otp_plan' will route in batch mode. In this case the 'ncores' variable will be used. Increasing 'ncores' will enable multicore routing, the max 'ncores' should be 1.25 times the number of cores on your system. The default is 1.25 timees -1 for improved stability.

## Distance Balancing

When using multicore routing each task does not take the same amount of time. This can result in wasted time between batches. Distance Balancing sorts the routing by the euclidean distance between fromPlace and toPlace before routing. This offers a small performance improvement of around five percent. As the original order of the inputs is lost fromID and toID must be provided.

## Elevation

OTP supports elevation data and can return the elevation profile of the route if available. OTP returns the elevation profile separately from the XY coordinates, this means there is not direct match between the number of XY points and the number of Z points. OTP also only returns the elevation profile for the first leg of the route (this appears to be a bug). If 'get_elevation' is TRUE the otp_plan function matches the elevation profile to the XY coordinates to return an SF linestring with XYZ coordinates. If you require a more detailed elevation profile, the full_elevation parameter will return a nested data.frame with three columns. first and second are returned from OTP, while distance is the cumulative distance along the route and is derived from First.

## Route Geometry

The 'get_geometry' provides the option to not return the route geometry, and just return the meta-data (e.g. journey time). This may be useful when creating an Origin:Destination matrix and also provides a small performance boost by reduced processing of geometries.

Value

Returns an SF data frame of LINESTRINGs

See Also

Other routing: otp_geocode(), otp_isochrone(), otp_pointset(), otp_routing_options(), otp_validate_routing_options()

Examples

## Not run: 
otpcon <- otp_connect()
otp_plan(otpcon, c(0.1, 55.3), c(0.6, 52.1))
otp_plan(otpcon, c(0.1, 55.3), c(0.6, 52.1),
  mode = c("WALK", "TRANSIT")
)
otp_plan(otpcon, c(0.1, 55.3), c(0.6, 52.1),
  mode = "BICYCLE", arriveBy = TRUE,
  date_time = as.POSIXct(strptime("2018-06-03 13:30", "%Y-%m-%d %H:%M"))
)

## End(Not run)

Create a pointset

Description

Pointsets are text files tha can be used by the Analyist feature in OTP 1.5

Usage

otp_pointset(points = NULL, name = NULL, dir = NULL)

Arguments

points

sf data frame of POINTS with CRS 4326

name

Character, name for pointset

dir

A character string, path to a directory containing the necessary files, see details

Details

OTP will return a maximum of 10 results

Value

Returns a data.frame of SF POINTS or Coordinates of all the locations that match 'query'

See Also

Other routing: otp_geocode(), otp_isochrone(), otp_plan(), otp_routing_options(), otp_validate_routing_options()

Examples

## Not run: 
locations <- otp_geocode(otpcon, "High Street")

## End(Not run)

Make routingOptions object

Description

OTP supports a wide selection of routing options 'otp_plan()' accepts a named list of these options. This function produces an empty named list of valid options supported by both this package and OTP.

Usage

otp_routing_options()

Details

Supports almost all of the possible options in OTP 1.4. Note that some of the most popular option (mode, date, time, etc.) are set directly in 'otp_plan()'. If you want to permenaty set an option many are supported in the config files, see help on 'otp_make_config()'.

http://dev.opentripplanner.org/apidoc/1.4.0/resource_PlannerResource.html

See Also

Other routing: otp_geocode(), otp_isochrone(), otp_plan(), otp_pointset(), otp_validate_routing_options()

Examples

## Not run: 
routingOptions <- otp_routing_options()
routingOptions$walkSpeed <- 1.5
routingOptions <- otp_validate_routing_options(routingOptions)

## End(Not run)

Set up an OTP instance.

Description

OTP is run in Java and requires Java commands to be typed into the command line. The function allows the parameters to be defined in R and automatically passed to Java. This function sets up a local instance of OTP, for remote versions see documentation.

The function assumes you have run otp_build_graph()

Usage

otp_setup(
  otp = NULL,
  dir = NULL,
  memory = 2048,
  router = "default",
  port = 8080,
  securePort = 8081,
  analyst = FALSE,
  pointsets = FALSE,
  wait = TRUE,
  flag64bit = TRUE,
  quiet = TRUE,
  otp_version = NULL,
  open_browser = TRUE
)

Arguments

otp

A character string, path to the OTP .jar file

dir

A character string, path to a directory containing the necessary files, see details

memory

A positive integer. Amount of memory to assign to the OTP in MB, default is 2048

router

A character for the name of the router to use, must be subfolder of dir/graphs, default "default". See vignettes for details.

port

A positive integer. Optional, default is 8080.

securePort

A positive integer. Optional, default is 8081.

analyst

Logical. Should the analyst features be loaded? Default FALSE

pointsets

Logical. Should the pointsets be loaded? Default FALSE

wait

Logical, Should R wait until OTP has loaded before running next line of code, default TRUE

flag64bit

Logical, if true the -d64 flag is added to Java instructions, ignored if otp_version >= 2

quiet

Logical, if FALSE the Java commands will be printed to console

otp_version

Numeric, version of OTP to build, default NULL when version is auto-detected

open_browser

Logical, if TRUE web browser is loaded when OTP is ready

Details

To run an OTP graph must have been created using otp_build_graph and the following files to be in the directory specified by the dir variable.

/graphs - A sub-directory

/default - A sub-directory with the name of the OTP router used in 'router' variable

graph.obj OTP graph

Value

This function does not return a value to R. If wait is TRUE R will wait until OTP is running (maximum of 5 minutes). After 5 minutes (or if wait is FALSE) the function will return R to your control, but the OTP will keep loading.

See Also

Other setup: otp_build_graph(), otp_check_java(), otp_check_version(), otp_dl_demo(), otp_dl_jar(), otp_make_config(), otp_stop(), otp_validate_config(), otp_write_config()

Examples

## Not run: 
otp_setup(
  otp = "C:/otp/otp.jar",
  dir = "C:/data"
)
otp_setup(
  otp = "C:/otp/otp.jar",
  dir = "C:/data",
  memory = 5000,
  analyst = TRUE
)

## End(Not run)

Stop and OTP Instance

Description

OTP is run in Java and requires Java commands to be typed into the command line. The function allows the parameters to be defined in R and automatically passed to Java. This function stops an already running OTP instance

Usage

otp_stop(warn = TRUE, kill_all = TRUE)

Arguments

warn

Logical, should you get a warning message

kill_all

Logical, should all Java instances be killed?

Details

The function assumes you have run otp_setup()

Value

This function return a message but no object

See Also

Other setup: otp_build_graph(), otp_check_java(), otp_check_version(), otp_dl_demo(), otp_dl_jar(), otp_make_config(), otp_setup(), otp_validate_config(), otp_write_config()

Examples

## Not run: 
otp_stop(kill_all = FALSE)

## End(Not run)

Evaluate a surface against a pointset

Description

Evaluate a surface created with 'otp_make_surface' against a pointset made with 'otp_pointset' to get travel times and statitics from the analysit in OTP 1.x

Usage

otp_surface(
  otpcon = NULL,
  surface = NULL,
  pointsset = NULL,
  get_data = TRUE,
  ncores = 1
)

Arguments

otpcon

OTP connection object produced by otp_connect()

surface

A surface list from otp_make_surface()

pointsset

character, name of pointset

get_data

Logical, should data be returned or just travel times.

ncores

Integer, number of cores to use

Details

THis function requires the analysis and pointset features to be enabled during 'otp_setup()'. Thus it will only work with OTP 1.x. For more detail see the analyst vignette.

Value

Returns a list of data.frames of travel times

Examples

## Not run: 
times <- otp_surface(otpcon, c(-1.17502, 50.64590), "lsoa", path_data)

## End(Not run)

Make an isochrone from a surface

Description

Make a raster image (picture) of travel time using the surface features in OTP 1.x

Usage

otp_surface_isochrone(otpcon = NULL, surface = NULL)

Arguments

otpcon

OTP connection object produced by otp_connect()

surface

A surface list from otp_make_surface()

Details

THis function requires the analysis and pointset features to be enabled during 'otp_setup()'. Thus it will only work with OTP 1.x. For more detail see the analyst vignette.

Value

Returns a data.frame of travel times

Examples

## Not run: 
times <- otp_surface(otpcon, c(-1.17502, 50.64590), "lsoa", path_data)

## End(Not run)

Get travel times between points

Description

This function requires OTP 1.x and the analyst

Usage

otp_traveltime(
  otpcon = NA,
  path_data = NULL,
  fromPlace = NA,
  toPlace = NA,
  fromID = NULL,
  toID = NULL,
  mode = "CAR",
  date_time = Sys.time(),
  arriveBy = FALSE,
  maxWalkDistance = 1000,
  numItineraries = 3,
  routeOptions = NULL,
  ncores = max(round(parallel::detectCores() * 1.25) - 1, 1),
  timezone = otpcon$timezone
)

Arguments

otpcon

OTP connection object produced by otp_connect()

path_data

Path to data used in otp_build_graph()

fromPlace

Numeric vector, Longitude/Latitude pair, e.g. 'c(-0.134649,51.529258)', or 2 column matrix of Longitude/Latitude pairs, or sf data frame of POINTS with CRS 4326

toPlace

Numeric vector, Longitude/Latitude pair, e.g. 'c(-0.088780,51.506383)', or 2 column matrix of Longitude/Latitude pairs, or sf data frame of POINTS with CRS 4326

fromID

character vector same length as fromPlace

toID

character vector same length as toPlace

mode

character vector of one or more modes of travel valid values TRANSIT, WALK, BICYCLE, CAR, BUS, RAIL, default CAR. Not all combinations are valid e.g. c("WALK","BUS") is valid but c("WALK","CAR") is not.

date_time

POSIXct, a date and time, defaults to current date and time

arriveBy

Logical, Whether the trip should depart or arrive at the specified date and time, default FALSE

maxWalkDistance

Numeric passed to OTP in metres

numItineraries

The maximum number of possible itineraries to return

routeOptions

Named list of values passed to OTP use 'otp_route_options()' to make template object.

ncores

Numeric, number of cores to use when batch processing, default 1, see details

timezone

Character, what timezone to use, see as.POSIXct, default is local timezone

Details

Make a travel time matrix using the analyst features in OPT 1.x

Value

Returns an data frame

See Also

Other analyst: otp_make_surface()


Validate Config Object

Description

Checks if the list of OTP configuration options is valid

Usage

otp_validate_config(config, type = attributes(config)$config_type, version = 1)

Arguments

config

A named list made/modified from 'otp_make_config()'

type

type of config file

version

version of OPT e.g. 1 or 2

Details

Performs basic validity checks on class, max/min values etc as appropriate, some of more complex parameters are not checked. For more details see:

http://docs.opentripplanner.org/en/latest/Configuration http://dev.opentripplanner.org/javadoc/1.3.0/org/opentripplanner/routing/core/RoutingRequest.html

See Also

Other setup: otp_build_graph(), otp_check_java(), otp_check_version(), otp_dl_demo(), otp_dl_jar(), otp_make_config(), otp_setup(), otp_stop(), otp_write_config()

Examples

## Not run: 
conf <- otp_make_config("build")
otp_validate_config(conf)

## End(Not run)

Validate routingOptions object

Description

OTP supports a wide selection of routing options 'otp_plan()' accepts a named list of these options. This function validates a named list of inputs and removes any empty inputs.

Usage

otp_validate_routing_options(opts)

Arguments

opts

a named list of options possibly from 'otp_routing_options()'

Details

Supports almost all of the possible options in OTP 1.4. Note that some of the most popular option (mode, date, time, etc.) are set directly in 'otp_plan()'. If you want to permenaty set an option many are supported in the config files, see help on 'otp_make_config()'. http://dev.opentripplanner.org/apidoc/1.4.0/resource_PlannerResource.html

See Also

Other routing: otp_geocode(), otp_isochrone(), otp_plan(), otp_pointset(), otp_routing_options()

Examples

## Not run: 
routingOptions <- otp_routing_options()
routingOptions$walkSpeed <- 1.5
routingOptions <- otp_validate_routing_options(routingOptions)

## End(Not run)

Write config object as json file

Description

Takes a config list produced by 'otp_make_config()' and saves it as json file for OTP

Usage

otp_write_config(config, dir = NULL, router = "default")

Arguments

config

A named list made/modified from 'otp_make_config()'

dir

Path to folder where data for OTP is to be stored

router

name of the router, default is "default", must be a subfolder of dir/graphs

See Also

Other setup: otp_build_graph(), otp_check_java(), otp_check_version(), otp_dl_demo(), otp_dl_jar(), otp_make_config(), otp_setup(), otp_stop(), otp_validate_config()

Examples

## Not run: 
conf <- otp_make_config("build")
otp_write_config(conf, dir = tempdir())

## End(Not run)