Open Source Routing Machine - C++ backend
c-plus-pluscppcpp17isochronesmap-matchingopenstreetmaposmosrmroutingrouting-enginetraveling-salesman
Lane Anticipation currently triggers on quick steps with lanes. This changeset makes the "quick" part more dynamic by taking lanes left and right of the turn into account. The reasoning for this is as follows. The user can drive on the leftmost or rightmost lane and has to cross all lanes left or right of the turn, respecitvely. We scale our threshold appropriately, which now means the threshold describes the duration the user needs for crossing _a single lane_. Note: this is a heuristic and assumes the worst case. Which in my opinion is fine to do since triggering Lane Anticipation in complex scenarios is desirable. |
||
---|---|---|
.github | ||
cmake | ||
docker | ||
docs | ||
example | ||
features | ||
fuzz | ||
include | ||
profiles | ||
scripts | ||
src | ||
test | ||
third_party | ||
unit_tests | ||
.babelrc | ||
.clang-format | ||
.clang-tidy | ||
.cncc.style | ||
.eslintrc | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
appveyor-build.bat | ||
appveyor.yml | ||
build-local.bat | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
codecov.yml | ||
CONTRIBUTING.md | ||
cucumber.js | ||
Doxyfile.in | ||
LICENCE.TXT | ||
package.json | ||
profile.lua | ||
README.md | ||
taginfo.json |
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 | ![]() |
Windows | |
Coverage |
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},
}