Git Product home page Git Product logo

openrouteservice's Introduction

Openrouteservice

The openrouteservice API provides global spatial services by consuming user-generated and collaboratively collected free geographic data directly from OpenStreetMap. It is highly customizable, performant and written in Java.

The following services are available via a RESTful interface served by Tomcat.

  • Directions - Returns a route between two or more locations for a selected profile with customizable additional settings and instructions.
  • Isochrones - Obtains areas of reachability from given locations.
  • Matrix - Computes one-to-many, many-to-one or many-to-many routes for any mode of transport provided by openrouteservice.
  • Geocoding - Resolves input coordinates to addresses and vice versa (NOTE: openrouteservice acts as a wrapper and connects to either Photon, Nominatim or Pelias. One of these services must be installed in addition to the openrouteservice).
  • Places - Search for points of interest around points or in geometries (NOTE: you will have to set up a locations database, for this please refer to openrouteservice-tools).

To play around with openrouteservice you may use our demonstration server which comes with both the backend and a frontend. Or simply sign up for an API key and fire your requests against the API directly via apiary.

Please note that openrouteservice uses a forked and edited version of graphhopper 0.9 which can be found here.

ors client accessibility

Contribute

We appreciate any kind of contribution - bug reports, new feature suggestion or improving our translations are greatly appreciated. Feel free to create an issue and label it accordingly. If your issue regards the openrouteservice web-app please use the corresponding repository.

If you want to do contribute your improvements, please follow these steps:

  1. Fork the openrouteservice project

  2. Create a branch for the improvement from the development branch on your fork and add your contributions there.

  3. Create a pull request to our development branch, so we can review your changes before applying them. Please write your pull request description similar to this standard. Also please make sure to reference your pull request to the corresponding issue, for changes regarding multiple issues please create different pullrequests using different branches in your fork.

Installation

We suggest using docker to install and launch openrouteservice backend. In short, run the following command under the source code tree will get everything done.

cd docker && docker-compose up

For more details, check the docker installation guide.

Usage

Openrouteservice offers a set of endpoints for different spatial purposes. They are served with the help of Tomcat in a java servlet container. By default you will be able to query the services with these addresses:

  • http://localhost:8080/name_of_war_archive/routes
  • http://localhost:8080/name_of_war_archive/isochrones
  • http://localhost:8080/name_of_war_archive/matrix

Both /locations and /geocoding need additional setup steps for usage.

  • http://localhost:8080/name_of_war_archive/locations | You will have to set up a locations database, for this please refer to openrouteservice-tools.
  • http://localhost:8080/name_of_war_archive/geocoding | You can either use Photon, Nominatim or Pelias. One of these services must be installed in addition to the openrouteservice and configured in app.config.

Please find a detailed description of the api architecture on https://openrouteservice.docs.apiary.io/.

API Documentation

For an easy and interactive way to test the api, visit our documentation at apiary. After obtaining your key you can try out the different endpoints instantly and start firing requests.

Questions

For questions please use our Google Groups Forum and we will respond to you shortly.

openrouteservice's People

Contributors

rungee avatar rabidllama avatar timmccauley avatar tumluliu avatar hendrikleuschner avatar wzy19840102 avatar sfendrich avatar paoliveira avatar thegreatrefrigerator avatar jakobmiksch avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.