Open Source Routing Machine: High-Performance Routing Engine

Andrew made me aware of the Open Source Routing Machine (OSRM), a lightning fast routing engine built on OpenStreetMap data with draggable routes.

From their main page: "The Open Source Routing Machine (OSRM) is a C++ implementation of a high-performance routing engine for shortest paths in road networks. 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 is able to compute and output a shortest path between any origin and destination within a few miliseconds. Since it is designed with OpenStreetMap compatibility in mind, OSM data files can be easily imported. A demo installation (currently offline) is provided by our friends at Geofabrik. OSRM is under active development.

The key features of OSRM are:

  • High Performance Routing Algorithm
  • Easy import of OSM data files.
  • Written entirely in C++ and available under the GNU Affero General Public License for anyone to use.
  • Ability to handle continental sized networks.
  • Influenced by current and ongoing academic research. [more info]"

It's certainly not the first time we talk about routing with OpenStreetMap data. For example, in 2008 we talked about the OpenRouteService. And you'll get much more by heading to the routing page in the OSM wiki.