Learn R Programming

hereR

The hereR package provides an interface to the HERE REST APIs for R: (1) geocode and autosuggest addresses or reverse geocode POIs using the Geocoder API; (2) route directions, travel distance or time matrices and isolines using the Routing API, Matrix Routing API and Isoline Routing API; (3) request real-time traffic flow and incident information from the Traffic API; (4) find public transport connections and nearby stations using the Public Transit API; (5) request intermodal routes using the Intermodal Routing API; (6) get weather forecasts, reports on current weather conditions and astronomical information at a specific location from the Destination Weather API.

Locations, routes and isolines are returned as sf objects.

Installation

You can install the released version of hereR from CRAN with:

install.packages("hereR")

Install the development version from GitHub with:

remotes::install_github("munterfi/hereR")

Usage

This package requires an API key for a HERE project. The key is set for the current R session and is used to authenticate in the requests to the APIs. A login can be created on developer.here.com. In order to obtain the API key navigate to a project of your choice in the developer portal, select 'REST: Generate APP' and then 'Create API Key'.

To set the API key, use:

library(hereR)
set_key("<YOUR API KEY>")

Note: Your use of the HERE APIs with this package is subject to the HERE Developer Terms and Conditions. For freemium licenses the number of requests per second (RPS) is limited, use set_freemium(FALSE) to turn off limits for accounts with paid plans.

Once valid application credentials are created and the key is set in the R session, the APIs can be addressed using the functions shown in the examples below. A more detailed description can be found in the documentation of the functions and the package vignettes.

Geocoding & Search API: Autosuggest and geocode addresses or reverse geocode POIs.

geocode(c("Schweighofstrasse 190, Zurich, Switzerland", "Hardstrasse 48, Zurich, Switzerland"))

autosuggest(c("Schweighofstrasse", "Hardstrasse"))

reverse_geocode(poi)

Routing API: Construct route geometries with elevation (dim = XYZ).

route(poi[1:2, ], poi[3:4, ], transport_mode = "car", traffic = TRUE)

route(poi[1:2, ], poi[3:4, ], transport_mode = "car", traffic = FALSE)

route(poi[4, ], poi[5, ], transport_mode = "bicycle")

Matrix Routing API: Request a matrix of route summaries.

route_matrix(poi, transport_mode = "car", traffic = TRUE)

route_matrix(
  geocode(c("Schweighofstrasse 190, Zurich, Switzerland", "Hardstrasse 48, Zurich, Switzerland")),
  transport_mode = "bicycle", traffic = FALSE
)

Isoline Routing API: Construct isolines around points (time, distance or consumption).

isoline(poi, range_type = "time", transport_mode = "pedestrian")

isoline(poi, range_type = "distance", transport_mode = "truck")

isoline(poi, range_type = "consumption", transport_mode = "car", traffic = FALSE)

Traffic API: Get real-time traffic flow or incidents in a specific area.

flow(aoi)

incident(aoi)

Public Transit API: Request public transport connections between points or find stations nearby.

connection(poi[1:2, ], poi[3:4, ])

station(poi, radius = 500)

Intermodal Routing API: Get routes with various combinations of transport modes.

intermodal_route(poi[1:2, ], poi[3:4, ])

Destination Weather API: Request weather observations, forecasts, astronomical information or alerts at specific locations.

weather(poi, product = "observation")

weather(poi, product = "forecast_hourly")

weather(poi, product = "forecast_astronomy")

weather(poi, product = "alerts")

Contributing

  • Contributions to this package are very welcome, issues and pull requests are the preferred ways to share them. Please see the Contribution Guidelines.
  • This project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

References

Copy Link

Version

Install

install.packages('hereR')

Monthly Downloads

654

Version

1.1.0

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Merlin Unterfinger

Last Published

February 20th, 2025

Functions in hereR (1.1.0)

set_currency

Set the currency for HERE API requests
set_freemium

Set whether plan is freemium or not
set_key

Set HERE Application Credentials
station

HERE Public Transit API: Find Stations Nearby
reverse_geocode

HERE Geocoding & Search API: Reverse Geocode
route

HERE Routing API: Calculate Route
connection

HERE Public Transit API: Transit Route
geocode

HERE Geocoding & Search API: Geocode
autosuggest

HERE Geocoding & Search API: Autosuggest
incident

HERE Traffic API: Incidents
aoi

Example Areas of Interest
intermodal_route

HERE Intermodal Routing API: Calculate Route
isoline

HERE Isoline Routing API: Calculate Isoline
flow

HERE Traffic API: Flow
unset_key

Remove HERE Application Credentials
set_verbose

Verbose API usage of hereR
weather

HERE Destination Weather API: Observations, Forecasts, Astronomy and Alerts
poi

Example Points of Interest
hereR-package

hereR: 'sf'-Based Interface to the 'HERE' REST APIs
route_matrix

HERE Matrix Routing API: Calculate Matrix