Open Source Routing Machine
# Open Source Routing Machine

The Open Source Routing Machine or OSRM is a C++ implementation of a high-performance routing engine for shortest paths in road networks. Licensed under the permissive 2-clause BSD license, OSRM is a free network service. OSRM supports Linux, FreeBSD, Windows, and Mac OS X platform.

## Overview

It combines sophisticated routing algorithms with the open and free road network data of the OpenStreetMap (OSM) project. Shortest path computation on a continental sized network can take up to several seconds if it is done without a so-called speedup-technique. OSRM uses an implementation of contraction hierarchies and is able to compute and output a shortest path between any origin and destination within a few milliseconds, whereby the pure route computation takes much less time. Most effort is spent in annotating the route and transmitting the geometry over the network.

Since it is designed with OpenStreetMap compatibility in mind, OSM data files can be easily imported. A demo installation is sponsored by Karlsruhe Institute of Technology and previously by Geofabrik. The screen shot image shown is since September 2015 out of date with loss of attendant routing service features.

OSRM was part of the 2011 Google Summer of Code class.

## Features

* 'Click-to-drag' dynamic routing, in the manner of Google Maps
* Alternative routes
* Free-to-use API
* Free and open-source under the simplified two-clause BSD license
