Open Source Routing Machine
Open Source Routing Machine | |
---|---|
Authors: | Dennis Luxen, Mapbox |
License: | BSD |
Platforms: | Linux, macOS, and FreeBSD |
Language: | English |
Website: | http://project-osrm.org/ |
Source code: | https://github.com/Project-OSRM/ |
Programming language: | C++ |
High-performance routing and map-matching server |
The Open Source Routing Machine (OSRM) is an open-source router designed for use with data from the OpenStreetMap project.
Features
In contrast to most routing servers, OSRM does not use an A* variant to compute the shortest path, but instead uses contraction hierarchies or multilevel Dijkstra's. This results in very fast query times, usually below 1 millisecond for data sets like Europe, making OSRM a good candidate for responsive, web-based routing applications and websites.
- Very fast routing
- Highly portable
- Simple data format makes it easy to import custom data sets instead of OpenStreetMap data or import traffic data
- Flexible routing profiles (e.g., for different modes of transportation)
- Respects turn restrictions, including time-based conditional restrictions
- Respects turn lanes
- Localized turn-by-turn instructions powered by OSRM Text Instructions
Besides chronological routing, OSRM also provides additional functionality, such as map matching, traveling salesman problem solving, and generating vector tiles that contain routing metadata.
Services and applications powered by OSRM
- FOSSGIS routing service worldwide routing of car, bike, car profiles. Serves official demo instance.
- Cycle.travel biking directions
- Maps.Me offline mobile maps and directions
- Mapbox's Directions API (cycling profile only)
- Mapbox Directions for Swift on Apple platforms such as iOS
- Mapbox Java SDK on Java SE and Android
- Mapbox JavaScript SDK in the browser and Node.js
- I Bike Cph Copenhagen's bike route planner used OSRM in addition with third-party data.[1]
- Geofabrik hosts an OSRM instance for commercial use (car profile only).
- Fast Routing API Hosted OSRM route service for commercial use with worldwide coverage based on car profile.
See the full list of websites and projects using OSRM.
History
The OSRM project began with an initial public release on July 9, 2010, by Dennis Luxen.[2] The next year, Luxen presented on OSRM at the ACM GIS '11 conference along with Christian Vetter.[3] In 2015, Luxen stepped back from leading active development on OSRM.[4] Mapbox's Directions team continues to maintain and contribute to the project. In early 2018, Mapbox hired the developers of the Valhalla routing engine[5] which previously developed by Mapzen, and stopped its work on OSRM [6]. After a period of development being nearly stalled, work on the project is slowly continued by new maintainers[7][8].
See also
- MoNav shares some code with OSRM
- Mapweaver/OSRMW
- osrm.pm
- w:Open Source Routing Machine
References
- ↑ “Biking Directions With OSRM’s New External Data Support”. 2013-10-22. Retrieved 2015-03-04.
- ↑ Luxen, Dennis (July 9, 2010). “Announcing the immediate availability of the Open Source Routing Machine”. OSM-dev mailing list. Retrieved July 4, 2017.
- ↑ Luxen, Dennis; Vetter, Christian (November 1–4, 2011). “Real-time routing with OpenStreetMap data”. Proceedings of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems. Chicago, Illinois: Association for Computing Machinery. pp. 513–516. ISBN 978-1-4503-1031-4 .
- ↑ Luxen, Dennis (April 7, 2015). “Taking a break ...”. OSRM-talk mailing list. Retrieved July 4, 2017.
- ↑ Gundersen, Eric (January 5, 2018). “Mapbox ❤️ Valhalla”. Mapbox Blog. Retrieved August 27, 2021.
- ↑ Zverev, Ilya (2019). “Ничей OSRM”. Retrieved August 27, 2021.
- ↑ Doctor_Fegg (April 4, 2020). “PSA: Open Source Routing Machine (OSRM) was largely abandoned by its maintainers”. HackerNews. Retrieved August 27, 2021.
- ↑ “Project status?”. OSRM GitHub issues. Retrieved August 27, 2021.
External links
- Official website
- Online demo – planet-wide, updated every 12 hours
- GitHub repository
- API Documentation
- Manual
- Mailing list
- Help translate OSRM Text Instructions
- Mapping for navigation – a guide to ensuring compatibility with routers such as OSRM when mapping
- Papers by Dennis Luxen, including about OSRM