Open Source Routing Machine - C++ backend
Go to file
2016-10-21 16:52:05 -07:00
.github Fixes Grammar in Github Pull Request Template 2016-10-21 16:52:05 -07:00
cmake Changes Lua detection to be less strict 2016-10-12 23:09:59 +02:00
docker [skip ci] Update docker files to gcc 5 2016-07-21 17:19:35 +02:00
docs Docs: Rotaries can have exits as well 2016-10-18 02:20:18 +02:00
example Makes the OSRM interface threadsafe. 2016-10-04 09:32:22 +02:00
features add test 2016-10-20 14:28:33 -07:00
fuzz Enable data flow guided fuzzing using traces 2016-08-19 13:59:59 +02:00
include Rename increasingly inaccuratly named distance member of QueryEdge to weight 2016-10-21 21:00:02 +02:00
profiles Turn Angles in OSRM were computed using a lookahead of 10 meters. 2016-10-20 10:47:29 +02:00
scripts Makes Scripts Fail Fast and Loud 2016-10-21 17:56:56 +02:00
src add comment on find() [skip ci] 2016-10-21 14:23:02 -07:00
test Squashed 'third_party/libosmium/' changes from 2282c84..80df1d6 2016-10-03 13:08:59 -04:00
third_party Merge commit '879f7eb04200d7d2c28af565229bf6e3d54274fd' into retry/libosmium 2016-10-03 13:08:59 -04:00
unit_tests cmake fixes: 2016-10-20 12:09:27 -07:00
.clang-format expose lanes as enums, adjusted for comments 2016-06-27 11:12:02 +02:00
.clang-tidy Integration scripts for Clang's Modernize and Tidy tool. 2015-09-22 17:32:32 +02:00
.cncc.style Add simple cncc file 2016-01-05 12:06:33 +01:00
.eslintrc Rewrite cucumber test suite in JS 2016-03-24 16:01:01 -07:00
.gitignore Squashed 'third_party/libosmium/' changes from 2282c84..80df1d6 2016-10-03 13:08:59 -04:00
.gitmodules Removing Docs submodule 2012-12-26 18:29:16 +01:00
.travis.yml Limits the object cache size to 256M 2016-10-20 11:33:28 -07:00
appveyor-build.bat [skip travis] make AppVeyor publish binaries again 2016-04-29 10:32:29 +02:00
appveyor.yml Squashed 'third_party/libosmium/' changes from 2282c84..80df1d6 2016-10-03 13:08:59 -04:00
build-local.bat Squashed 'third_party/libosmium/' changes from 2282c84..80df1d6 2016-10-03 13:08:59 -04:00
CHANGELOG.md use-lane can occur in roundabouts as well 2016-10-20 14:28:33 -07:00
CMakeLists.txt cmake fixes: 2016-10-20 12:09:27 -07:00
codecov.yml Fix codecov.yml 2016-05-12 17:56:40 +02:00
CONTRIBUTING.md Squashed 'third_party/libosmium/' changes from 2282c84..80df1d6 2016-10-03 13:08:59 -04:00
cucumber.js Close GH-2795: Rewrite cucumber test caching (and support logic). Fixes #2745 2016-09-19 14:13:44 -07:00
Doxyfile.in Exclude new node_modules folder that might be around if test cases have been run. 2016-04-05 22:59:14 +02:00
LICENCE.TXT We are at 2016 for the license 2016-01-04 18:13:05 +01:00
package.json Close GH-2795: Rewrite cucumber test caching (and support logic). Fixes #2745 2016-09-19 14:13:44 -07:00
profile.lua readding profile.lua 2013-07-02 22:51:21 +02:00
README.md Talk to us! 2016-07-28 11:01:51 +02:00
taginfo.json Turn Angles in OSRM were computed using a lookahead of 10 meters. 2016-10-20 10:47:29 +02:00

About

The Open Source Routing Machine is a high performance routing engine written in C++11 designed to run on OpenStreetMap data.

Current build status

build config status
Linux Build Status
Windows Build status
Coverage codecov

Contact

  • IRC: server irc.oftc.net, channel: #osrm (see: https://www.oftc.net, and for a webchat: https://webchat.oftc.net)
  • Mailinglist: https://lists.openstreetmap.org/listinfo/osrm-talk

Building

For instructions on how to build and run OSRM, please consult the Wiki.

To quickly try OSRM use our free and daily updated online service

Documentation

Full documentation

Quick start

Building OSRM assuming all dependencies are installed:

mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
sudo cmake --build . --target install

Loading preparing a dataset and starting the server:

osrm-extract data.osm.pbf -p profiles/car.lua
osrm-contract data.osrm
osrm-routed data.osrm

Running a query on your local server:

curl http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true&alternatives=true

Running a request against the Demo Server

First read the API usage policy.

Then run simple query with instructions and alternatives on Berlin:

curl https://router.project-osrm.org/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true&alternatives=true

References in publications

When using the code in a (scientific) publication, please cite

@inproceedings{luxen-vetter-2011,
 author = {Luxen, Dennis and Vetter, Christian},
 title = {Real-time routing with OpenStreetMap data},
 booktitle = {Proceedings of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems},
 series = {GIS '11},
 year = {2011},
 isbn = {978-1-4503-1031-4},
 location = {Chicago, Illinois},
 pages = {513--516},
 numpages = {4},
 url = {http://doi.acm.org/10.1145/2093973.2094062},
 doi = {10.1145/2093973.2094062},
 acmid = {2094062},
 publisher = {ACM},
 address = {New York, NY, USA},
}