OSM Route Services

 

  1. OpenRouteService(OSM) http://wiki.openstreetmap.org/wiki/OpenRouteService

    Conditions of using API should be researched. We can find next paragraph in "OpenRouteService API" section from website - "Description: Through the OpenLS interface requests can be generated to the appropriate services without further query limitations. The offered API's are only valid for ' one ' year. In case you plan a long-term use of the interfaces within your projects , please contact openrouteservice AT geog.uni-heidelberg.de"
  2. YOURS http://wiki.openstreetmap.org/wiki/YOURS

    API: section "API documentation" on website, Usage: "Use of the API is on a Fair Use Policy basis: everyone can use the API as long as it won't overload the server systematically. If you do overload but provide an X-Yours-client header (as described below) then I'll try to contact you to find a solution. If you don't provide this information (or I can't contact you) then you might become blocked (this has happened only once so far, so don't worry too much about it)."
    Via points: In API documentation there's nothing about via points, it's seems that they don't support it. But in "Features" section on their website we can see the following sentence: "Unlimited via points (waypoints) to make complex routes." Also on their demo website we can add via points and build routes with it. 
    Supported types of transport: car, bicycle and pedestrian
  3. MapQuest http://developer.mapquest.com/web/products/open/directions-service

    Usage: "This service is powered completely by free-to-use-by-anyone, open-sourced OSM data."
    Look at section "Terms of use".
    API Developer's Guide - http://open.mapquestapi.com/directions/ 
    Via points are supported: "Using latitude/longitude pairs, request a multi-point route for up to 50 locations, receive maneuver narratives, road shield images, turn direction images, street names, static maneuver maps, route shapes in raw or compressed lat/lng formats, set options to avoid ferries, highways, toll roads, or even down to avoiding specific links in the road network. Ask for the route as shortest, fastest, pedestrian or bicycle."
    5 types of route are supported:  
    • fastest - Quickest drive time route.
    • shortest - Shortest driving distance route.
    • pedestrian - Walking route; Avoids limited access roads; Ignores turn restrictions.
    • multimodal - Combination of walking and (if available) Public Transit.
    • bicycle - Bike route; Avoids limited access roads; Avoids roads where bicycle access is false; Favors bike specific paths and lower maxspeed roads

  4. Open Source Routing Machine (OSRM) http://project-osrm.org/

    Usage: "We are in principle happy for our demo server to be queried from external users. We don't give any guarantees though and expect anyone to adhere to the following rules:
    • Excessive use (e.g. distance tables by requesting individual distances) is not allowed. See below for how to do this properly.
    • Clearly display appropriate data license attribution (ODbL) and the source of your routes (OSRM).
    • Valid User-Agent identifying application. Faking another app's User-Agent WILL get you blocked.
    • If known, a valid HTTP Referer. See Wikipedia for an explanation."
    Look at https://github.com/Project-OSRM/osrm-backend/wiki/Api-usage-policy
    Via points are supported, but "currently limited to 25 max points"
    Type of route: "Computation of a shortest path on the road network between two coordinates given an ordered list of via points (viaroute)", "Open Source Routing Machine computes shortest paths in a graph" - car(fastest) 
    API Description - https://github.com/Project-OSRM/osrm-backend/wiki/Server-api