Open Source Routing Machine - C++ backend
c-plus-pluscppcpp17isochronesmap-matchingopenstreetmaposmosrmroutingrouting-enginetraveling-salesman
The need for this is that: - On OS X if libraries are stored in custom locations (not /usr/lib or /usr/local) and they do not embed an rpath (which is common to not have) then the developer needs to set DYLD_LIBRARY_PATH to ensure that osrm tools can find dependent libraries at runtime (this is normal and common). - But as of OS X > 10.11 DYLD_LIBRARY_PATH no longer is inherited. While it works in the main shell when running a command like `osrm-extract` you will find that when `osrm-extract` is run by cucumber (ruby child process) then DYLD_LIBRARY_PATH is blocked and the command cannot start. - So, this introduces the ability to pass in a variable that the cucumber tests will understand and can manually forward along to ensure that DYLD_LIBRARY_PATH is respected where it counts. The intended usage of this is therefore: # set the environment variable export OSRM_SHARED_LIBRARY_PATH=${DYLD_LIBRARY_PATH} # then run cucumber tests cucumber -p verify |
||
---|---|---|
cmake | ||
config | ||
docker | ||
example | ||
features | ||
include | ||
profiles | ||
scripts | ||
src | ||
test | ||
third_party | ||
unit_tests | ||
.clang-format | ||
.clang-tidy | ||
.cncc.style | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
appveyor-build.bat | ||
appveyor.yml | ||
build-local.bat | ||
CMakeLists.txt | ||
Doxyfile.in | ||
Gemfile | ||
Gemfile.lock | ||
LICENCE.TXT | ||
profile.lua | ||
Rakefile | ||
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 | branch | status |
---|---|---|
Linux | master | ![]() |
Linux | develop | ![]() |
Windows | master/develop | |
LUAbind fork | master | ![]() |
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
See the Wiki's server API documentation as well as the library API documentation
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},
}