The openrouteservice ecosystem#

There is a large ecosystem of clients which supports you to easily use and integrate openrouteservice into your project!

Web Client

QGIS

Python

R

JavaScript

Integration via package/plugin possible

Requires programming skills

Supports all ORS functions

Automatise bulk requests

What if I need help?

If you have questions or problems, you will fine help in the openrouteservice forum. If you encounter bugs, feel free to create an issue in the respective GitHub repository.

Web Client#

Available at https://maps.openrouteservice.org
GitHub: giscience/ors-map-client

  • Mobile friendly

  • Uses public ORS API

  • Multi-language support

  • Functions: directions, geocoding, isochrones and Points-Of-Interest search.

ors maps client

QGIS#

Available via the QGIS Plugin Repository
GitHub: GIScience/orstools-qgis-plugin

  • Combine ORS with your own data (Here is a nice tutorial. Thanks to Ujaval Gandhi! )

  • No programming skills required

  • Available in model builder

  • Enables processing in batch mode

  • Does not support all ORS endpoints and parameters

ors qgis plugin

Python#

GitHub: GIScience/openrouteservice-py

  • Response as Python objects

  • Independent of API version

Installation

pip install openrouteservice

Calculate route

import openrouteservice
from openrouteservice.directions import directions

coords = ((8.34234,48.23424),(8.34423,48.26424))

client = openrouteservice.Client(key='') # Specify your personal API key
routes = directions(client, coords) # Now it shows you all arguments for .directions

R#

GitHub: GIScience/openrouteservice-r

install.packages("devtools")
devtools::install_github("GIScience/openrouteservice-r")

your_api_key <- "YOUR_API_KEY"

origin <- c(6.943241, 50.334265)
destination <- c(7.119166, 50.548979)

normal_route <- ors_directions(list(origin,destination), api_key = your_api_key)

Conveniently supports geospatial classes in R like sf, sp, via the parameter output=c("sf","sp","txt").

JavaScript#

GitHub: GIScience/openrouteservice-js

  • Allows the integration of the openrouteservice API in your application

  • openrouteservice API validation

Installation

npm install openrouteservice-js --save

Usage

import Openrouteservice from 'openrouteservice-js'

var isochrones = new Openrouteservice.Isochrones({api_key: "XYZ"});

isochrones.calculate({
    locations: [[8.67568,49.418477]],
    profile: 'foot-walking',
    range: [3600],
    interval: '600',
    range_type: 'time',
})
.then(function(response) {
    console.log("response", response);
})
.catch(function(err) {
    var str = "An error occurred: " + err;
    console.log(str);
});