OpenTripPlanner for R

OpenTripPlanner for R - Published in JOSS (2019)

https://github.com/ropensci/opentripplanner

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    3 of 11 committers (27.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

data isochrones java opentripplanner otp public-transport r routing transport transportation-planning

Keywords from Contributors

evolutionary-algorithms
Last synced: 4 months ago · JSON representation

Repository

An R package to set up and use OpenTripPlanner (OTP) as a local or remote multimodal trip planner.

Basic Info
Statistics
  • Stars: 84
  • Watchers: 8
  • Forks: 21
  • Open Issues: 9
  • Releases: 7
Topics
data isochrones java opentripplanner otp public-transport r routing transport transportation-planning
Created about 7 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License Code of conduct Codemeta

README.Rmd

---
output: github_document
---



```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# OpenTripPlanner for R 

[![R build status](https://github.com/ropensci/opentripplanner/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/opentripplanner/actions)
[![codecov](https://codecov.io/gh/ropensci/opentripplanner/branch/master/graph/badge.svg?token=iLEB77PnMk)](https://app.codecov.io/gh/ropensci/opentripplanner) 
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![](https://badges.ropensci.org/295_status.svg)](https://github.com/ropensci/software-review/issues/295)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3558311.svg)](https://doi.org/10.5281/zenodo.3558311)
[![status](https://joss.theoj.org/papers/10.21105/joss.01926/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01926)
[![](https://cranlogs.r-pkg.org/badges/grand-total/opentripplanner)](https://cran.r-project.org/package=opentripplanner)
[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/opentripplanner)](https://cran.r-project.org/package=opentripplanner)


**opentripplanner** is an R package that provides a simple yet flexible interface to [OpenTripPlanner (OTP)](https://www.opentripplanner.org/). OTP is a multimodal trip planning service written in Java. For more information on what OTP is, see the [prerequisites vignette](https://docs.ropensci.org/opentripplanner/articles/prerequisites.html).

**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](https://docs.ropensci.org/opentripplanner/articles/opentripplanner.html), while advanced functionality such as batch routing, isochrones, and customised setup is described in the [advanced features vignette](https://docs.ropensci.org/opentripplanner/articles/advanced_features.html).

## 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](https://docs.ropensci.org/opentripplanner/news/index.html) 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](https://docs.ropensci.org/opentripplanner/articles/prerequisites.html).

### R Package

To install the stable CRAN version:

```{r installCRAN, eval=FALSE}
install.packages("opentripplanner") # Install Package
library(opentripplanner)            # Load Package
```

Install the development version using **remotes**:

```{r install, eval=FALSE}
# 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;
1. `otp_dl_demo()`         To download the demo data for the Isle of Wight;
1. `otp_check_java()`      To check you have the correct version of Java;
1. `otp_build_graph()`     To make a OTP graph from raw data;
1. `otp_setup()`           To start up a local instance of OTP;
1. `otp_make_config()`     To make a config object;
1. `otp_validate_config()` To validate a config object;
1. `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;
1. `otp_geocode()`           To get the locations of named places e.g. road names (OTP 1.x only);
1. `otp_isochrone()`         To get isochrone maps (OTP 1.x only);
1. `otp_make_surface()`      To make an analyst surface (OTP 1.x only);
1. `otp_surface()`           To evaluate a analyst surface (OTP 1.x only);
1. `otp_traveltime()`        To make a travel time matrix (OTP 1.x only);
1. `otp_surface_isochrone()` To make a raster isochrone map (OTP 1.x only);

Results are returned as [sf objects](https://CRAN.R-project.org/package=sf).


## Acknowledgement

This package was built off the [tutorial by Marcus Young](https://github.com/marcusyoung/otp-tutorial).

## Contribution

Please note that the `opentripplanner` project is released with a [Contributor Code of Conduct](https://github.com/ropensci/opentripplanner/blob/master/CODE_OF_CONDUCT.md). By contributing to this project, you agree to abide by its terms. Bug reports and comments are welcome as Github [Issues](https://github.com/ropensci/opentripplanner/issues) and code submissions as [Pull Requests](https://github.com/ropensci/opentripplanner/pulls).


## 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



[![ropensci_footer](https://ropensci.org/public_images/ropensci_footer.png)](https://ropensci.org)

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

JOSS Publication

OpenTripPlanner for R
Published
December 02, 2019
Volume 4, Issue 44, Page 1926
Authors
Malcolm Morgan ORCID
Institute for Transport Studies, University of Leeds, UK
Marcus Young ORCID
Transportation Research Group, University of Southampton, UK
Robin Lovelace ORCID
Institute for Transport Studies, University of Leeds, UK
Layik Hama ORCID
Institute for Transport Studies, University of Leeds, UK
Editor
Daniel S. Katz ORCID
Tags
transport geospatial transit OpenTripPlanner OpenStreetMap

CodeMeta (codemeta.json)

{
  "@context": [
    "https://doi.org/10.5063/schema/codemeta-2.0",
    "http://schema.org"
  ],
  "@type": "SoftwareSourceCode",
  "identifier": "opentripplanner",
  "description": "An R interface for OpenTripPlanner <http://www.opentripplanner.org/>.\n    OpenTripPlanner (OTP) is an open source platform for multi-modal and multi-agency\n    journey planning written in Java. OTP provides a REST API which OpenTripPlanner\n    for R uses to connect to OTP.\n This package has been peer-reviewed by rOpenSci (v. 0.1.0.0).",
  "name": "opentripplanner: OpenTripPlanner for R",
  "codeRepository": "https://github.com/ropensci/opentripplanner",
  "relatedLink": "https://docs.ropensci.org/opentripplanner/",
  "issueTracker": "https://github.com/ropensci/opentripplanner/issues",
  "license": "file LICENSE",
  "version": "0.1.0.0",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "version": "3.6.0",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 3.6.0 (2019-04-26)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Malcolm",
      "familyName": "Morgan",
      "email": "m.morgan1@leeds.ac.uk",
      "@id": "https://orcid.org/0000-0002-9488-9183"
    },
    {
      "@type": "Person",
      "givenName": "Marcus",
      "familyName": "Young",
      "email": "M.A.Young@soton.ac.uk",
      "@id": "https://orcid.org/0000-0003-4627-1116"
    },
    {
      "@type": "Person",
      "givenName": "Robin",
      "familyName": "Lovelace",
      "email": "rob00x@gmail.com",
      "@id": "https://orcid.org/0000-0001-5679-6536"
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Layik",
      "familyName": "Hama",
      "email": "layik.hama@gmail.com",
      "@id": "https://orcid.org/0000-0003-1912-4890"
    }
  ],
  "copyrightHolder": {},
  "funder": {},
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Malcolm",
      "familyName": "Morgan",
      "email": "m.morgan1@leeds.ac.uk",
      "@id": "https://orcid.org/0000-0002-9488-9183"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "covr",
      "name": "covr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=covr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    }
  ],
  "softwareRequirements": [
    {
      "@type": "SoftwareApplication",
      "identifier": "checkmate",
      "name": "checkmate",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=checkmate"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "dplyr",
      "name": "dplyr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=dplyr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "geodist",
      "name": "geodist",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=geodist"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "googlePolylines",
      "name": "googlePolylines",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=googlePolylines"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "httr",
      "name": "httr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=httr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "jsonlite",
      "name": "jsonlite",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=jsonlite"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "pbapply",
      "name": "pbapply",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=pbapply"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "sf",
      "name": "sf",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=sf"
    }
  ],
  "readme": "https://github.com/ropensci/opentripplanner/blob/master/README.md",
  "fileSize": "462.89KB",
  "contIntegration": [
    "https://travis-ci.org/ITSLeeds/opentripplanner",
    "https://codecov.io/github/ITSLeeds/opentripplanner?branch=master",
    "https://ci.appveyor.com/project/layik/opentripplanner-05ana"
  ],
  "developmentStatus": "https://www.repostatus.org/#active",
  "keywords": [
    "r",
    "transport",
    "data",
    "routing",
    "opentripplanner"
  ]
}

GitHub Events

Total
  • Watch event: 3
  • Issue comment event: 4
  • Push event: 1
  • Pull request event: 2
  • Fork event: 1
Last Year
  • Watch event: 3
  • Issue comment event: 4
  • Push event: 1
  • Pull request event: 2
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 603
  • Total Committers: 11
  • Avg Commits per committer: 54.818
  • Development Distribution Score (DDS): 0.172
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Malcolm Morgan m****8 499
Robin Lovelace r****x@g****m 32
mem48 28
Layik Hama l****a@g****m 20
Marcus Young m****g@s****k 13
Egor Kotov k****r@g****m 4
mem48 m****2@h****m 3
Daniel S. Katz d****z@i****g 1
Daniel Orellana d****v@g****m 1
Daniel Herszenhut d****z@g****m 1
Alex Karner a****r@u****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 82
  • Total pull requests: 35
  • Average time to close issues: 3 months
  • Average time to close pull requests: 17 days
  • Total issue authors: 26
  • Total pull request authors: 11
  • Average comments per issue: 4.3
  • Average comments per pull request: 0.66
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mem48 (37)
  • Robinlovelace (7)
  • orlandombaa (5)
  • jamiedtor (3)
  • wangsicheng1988 (2)
  • dhersz (2)
  • lgaa320 (2)
  • kimnewzealand (2)
  • jameswoodgeog (2)
  • jamiedeweese (2)
  • Johnspeanut (2)
  • gartlano (1)
  • RdgoVillegas (1)
  • oweno-tfwm (1)
  • AlexandraKapp (1)
Pull Request Authors
  • mem48 (11)
  • e-kotov (7)
  • layik (5)
  • MichaelChirico (4)
  • Robinlovelace (4)
  • lemire (2)
  • marcusyoung (1)
  • aakarner (1)
  • temporalista (1)
  • danielskatz (1)
  • dhersz (1)
Top Labels
Issue Labels
bug (20) help wanted (11) enhancement (10) wontfix (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 838 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 2
  • Total versions: 13
  • Total maintainers: 1
cran.r-project.org: opentripplanner

Setup and connect to 'OpenTripPlanner'

  • Versions: 13
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Downloads: 838 Last month
Rankings
Forks count: 3.8%
Stargazers count: 4.8%
Average: 13.8%
Dependent packages count: 18.1%
Dependent repos count: 19.2%
Downloads: 23.4%
Maintainers (1)
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.2 depends
  • checkmate * imports
  • curl * imports
  • data.table * imports
  • geodist * imports
  • googlePolylines * imports
  • lubridate * imports
  • pbapply * imports
  • rjson * imports
  • sf >= 0.9.3 imports
  • sfheaders * imports
  • RcppSimdJson >= 0.1.2 suggests
  • covr * suggests
  • knitr * suggests
  • raster * suggests
  • rgdal * suggests
  • rmarkdown * suggests
  • testthat * suggests
  • tibble * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/pr-commands.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/pr-fetch v1 composite
  • r-lib/actions/pr-push v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
Dockerfile docker
  • rocker/geospatial latest build