Jump to content

Open Source Routing Machine

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mxn (talk | contribs) at 23:26, 3 May 2025 (Rewrote much of the article to sound less like ad copy). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Open Source Routing Machine (OSRM)
Original author(s)Dennis Luxen, Christian Vetter
Stable release
6.0.0[1] Edit this on Wikidata / 21 April 2025; 43 days ago (21 April 2025)
Repository
Written inC++
Operating systemLinux, FreeBSD, OS X, Windows
TypeRoute planning software
LicenseSimplified BSD License[2]
Websiteproject-osrm.org Edit this at Wikidata

The Open Source Routing Machine (abbreviated OSRM) is an open-source, high-performance library and network service for finding shortest paths in road networks. Written in C++, OSRM runs on the Linux, FreeBSD, Windows, and macOS platforms. It is designed for compatibility with OpenStreetMap's road network data. FOSSGIS operates a free-to-use server that powers walking, cycling, and driving directions on OSM's homepage.

History

OSRM was part of the 2011 Google Summer of Code class.[3]

Architecture

OSRM implements multilevel Dijkstra's algorithm as well as another routing algorithm, contraction hierarchies, which is better suited for very large distance matrices. Shortest path computation on a continental sized network can take up to several seconds if it is done without a so-called speedup-technique. Via an implementation of contraction hierarchies, OSRM can 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. This high performance facilitates use cases such as user-interactive route manipulation.

OSRM also includes a map matching service and a travelling salesman problem solver for generating distance matrices.

See also

References

  1. ^ "Release 6.0.0". 21 April 2025. Retrieved 27 April 2025.
  2. ^ "osrm-backend/LICENSE.TXT at master · Project-OSRM/osrm-backend · GitHub". GitHub. 26 April 2020.
  3. ^ "Improvements to the Open Source Routing Machine (OSRM)". Archived from the original on 2013-12-19.

As of 18 May 2012, this article is derived in whole or in part from Open Source Routing Machine. The copyright holder has licensed the content in a manner that permits reuse under CC BY-SA 3.0 and GFDL. All relevant terms must be followed.

Further reading