Title: Graphical User Interface for 'r5r' Router
Version: 0.1.0
Description: Interactively build and explore public transit routes with 'r5r' package via a graphical user interface in a 'shiny' app. The underlying routing methods are described in Pereira et al. (2021) <doi:10.32866/001c.21262>.
License: MIT + file LICENSE
URL: https://github.com/e-kotov/r5rgui, https://www.ekotov.pro/r5rgui/
BugReports: https://github.com/e-kotov/r5rgui/issues
Imports: DT, mapgl, r5r, sf, shiny
Suggests: mockery, quarto, rlang, shinytest2, testthat (≥ 3.0.0)
Config/testthat/edition: 3
Encoding: UTF-8
Language: en
RoxygenNote: 7.3.3
NeedsCompilation: no
Packaged: 2025-11-20 23:13:18 UTC; ek
Author: Egor Kotov ORCID iD [aut, cre, cph]
Maintainer: Egor Kotov <kotov.egor@gmail.com>
Repository: CRAN
Date/Publication: 2025-11-25 07:50:02 UTC

Run the r5rgui Shiny Application

Description

This function launches a Shiny application that provides a graphical user interface for the 'r5r' package, allowing for interactive transit routing.

Usage

r5r_gui(r5r_network, center = NULL, zoom = NULL, departure_date = Sys.Date())

Arguments

r5r_network

A pre-built 'r5r' network object. This object contains the street and transit network data required for routing calculations.

center

A numeric vector of length 2, specifying the initial longitude and latitude for the map's center. If NULL (the default), the map will be centered on the bounding box of the r5r_network. If {r5r} is below version 2.4.0, calculating the bounding box may be slow.

zoom

An integer specifying the initial zoom level of the map. If NULL (the default), the zoom level will be automatically calculated to fit the bounding box of the r5r_network. If {r5r} is below version 2.4.0, calculating the bounding box may be slow.

departure_date

A Date object specifying the initial departure date for the trip. Defaults to the current system date.

Value

This function does not return a value; it launches a Shiny application.

Examples

if (interactive()) {
  # First, build the r5r network
  library(r5r)

  # Note: This requires a valid r5r network.
  # Using the sample data included in the r5r package:
  data_path <- system.file("extdata/poa", package = "r5r")
  r5r_network <- setup_r5(data_path = data_path)

  # Launch the application without specifying center and zoom
  # The map will be automatically centered and zoomed to the network's extent
  r5r_gui(r5r_network)

  # Launch with a specific departure date with auto-zoom and center
  r5r_gui(r5r_network, departure_date = as.Date("2019-05-13"))

  # Manually define map center and zoom
  map_center <- c(-51.22, -30.05)
  map_zoom <- 11
  r5r_gui(r5r_network, center = map_center, zoom = map_zoom)
}

Run a Demonstration of the r5rgui Application

Description

A simple wrapper function to launch the r5rgui Shiny application using the sample Porto Alegre dataset included with the r5r package.

This function is designed for ease of use and demonstration purposes. It automatically handles the setup of the r5r_network object and provides default map settings (center and zoom) appropriate for the sample data.

Usage

r5r_gui_demo()

Details

The function first locates the sample data within the r5r package, then calls r5r::setup_r5() to build the routing core. Finally, it launches the Shiny app by calling r5r_gui() with these pre-configured objects. Please note that r5r may need to download the sample data on first use, which requires an internet connection.

Value

This function does not return a value; it launches a Shiny application.

Examples

if (interactive()) {
  # To run the demo application, simply call the function:
  r5r_gui_demo()
}