Learn R Programming

⚠️There's a newer version (1.1.0) of this package.Take me there.

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[2, ])

incident(aoi, from = as.POSIXct("2018-01-01 00:00:00"))

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

0.9.1

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Merlin Unterfinger

Last Published

January 9th, 2023

Functions in hereR (0.9.1)

set_currency

Set the currency for HERE API requests
set_key

Set HERE Application Credentials
set_auth-defunct

Defunct: Set Application Credentials
set_freemium

Set whether plan is freemium or not
poi

Example Points of Interest
isoline

HERE Isoline Routing API: Calculate Isoline
reverse_geocode

HERE Geocoding & Search API: Reverse Geocode
intermodal_route

HERE Intermodal Routing API: Calculate Route
route

HERE Routing API: Calculate Route
traffic-defunct

HERE Traffic API: Flow and Incidents
route_matrix

HERE Matrix Routing API: Calculate Matrix
set_proxy-defunct

Proxy Configuration
set_rate_limit-deprecated

Limit requests to the APIs
unset_auth-defunct

Remove Application Credentials
unset_key

Remove HERE Application Credentials
set_verbose

Verbose API usage of hereR
unset_proxy-defunct

Remove Proxy Configuration
weather

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

HERE Public Transit API: Find Stations Nearby
connection

HERE Public Transit API: Transit Route
autosuggest

HERE Geocoding & Search API: Autosuggest
autocomplete-defunct

HERE Geocoder API: Autocomplete
incident

HERE Traffic API: Incidents
flow

HERE Traffic API: Flow
geocode

HERE Geocoding & Search API: Geocode
hereR-defunct

Defunct functions in package hereR.
aoi

Example Areas of Interest
hereR-deprecated

Deprecated functions in package hereR.
hereR-package

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