Open Source Routing Machine - C++ backend
Go to file
2025-02-04 02:36:59 +01:00
.github Fix no member named 'construct' in 'optional<type-parameter-0-0 &>' error in sol.hpp with Clang 19 (#7098) 2025-01-25 07:09:37 +00:00
cmake Use Link Time Optimisation whenever possible (#6967) 2024-06-30 21:07:49 +02:00
data Driving side property added to driving_side.geojson 2020-10-06 09:01:22 +03:00
docker Fix no member named 'construct' in 'optional<type-parameter-0-0 &>' error in sol.hpp with Clang 19 (#7098) 2025-01-25 07:09:37 +00:00
docs Remove all core-CH left-overs (#6920) 2024-05-30 17:13:44 +02:00
example Use std::variant instead of mapbox::util::variant (#6903) 2024-05-28 18:52:49 +02:00
features Route pedestrians over highway=platform (#6993) 2024-07-12 20:12:19 +02:00
fuzz Revert back to using custom HTTP parser instead of Boost.Beast (#6407) 2022-10-14 14:37:33 +02:00
generated/include/engine/api/flatbuffers Move flatbuffers non-generated files back to include/engine/api/flatbuffers/ (#6996) 2024-07-13 13:43:56 +02:00
include Use std::string_view for key type in json::Object (#7062) 2024-11-03 18:23:23 +01:00
lib Use node-api instead of NAN (#6452) 2022-11-16 15:44:36 +01:00
profiles Add optional support of cargo bike exclusion and width to bicyle profile (#7044) 2024-10-01 15:19:44 +03:00
scripts Use std::string_view for key type in json::Object (#7062) 2024-11-03 18:23:23 +01:00
src Use std::string_view for key type in json::Object (#7062) 2024-11-03 18:23:23 +01:00
test Use tmpfs for running benchmarks (#6966) 2024-06-25 17:49:41 +02:00
third_party Fix no member named 'construct' in 'optional<type-parameter-0-0 &>' error in sol.hpp with Clang 19 (#7098) 2025-01-25 07:09:37 +00:00
unit_tests Remove unused bearing::get function (#7040) 2024-10-20 19:46:49 +02:00
.babelrc Fix generation of NodeJS API documentation 2021-12-23 11:10:39 +00:00
.clang-format expose lanes as enums, adjusted for comments 2016-06-27 11:12:02 +02:00
.clang-tidy Get rid of boost::optional leftovers (#6977) 2024-07-02 22:37:09 +02:00
.cncc.style Add simple cncc file 2016-01-05 12:06:33 +01:00
.dockerignore Reduce docker image size to about 20MB by using a multistage build. 2017-10-31 23:35:01 -04:00
.editorconfig Add .editorconfig file 2018-02-20 16:16:26 +01:00
.eslintignore flatbuffers javascript libraries excluded from linting, as it makes no sene to lint generated code. 2019-08-26 15:29:27 +03:00
.eslintrc Rewrite cucumber test suite in JS 2016-03-24 16:01:01 -07:00
.gitattributes Build Node bindings on Windows (#6334) 2022-09-20 20:43:13 +01:00
.gitignore Remove corech options, redundant tests (#6989) 2024-07-10 16:28:07 +02:00
.gitmodules Removing Docs submodule 2012-12-26 18:29:16 +01:00
.npmignore Whitelists scripts/node_install.sh for from-source compilation, resolves #4431 2017-08-28 19:08:36 -04:00
CHANGELOG.md Use std::string_view for key type in json::Object (#7062) 2024-11-03 18:23:23 +01:00
CMakeLists.txt Fix no member named 'construct' in 'optional<type-parameter-0-0 &>' error in sol.hpp with Clang 19 (#7098) 2025-01-25 07:09:37 +00:00
CODE-OF-CONDUCT.md add code of conduct 2017-10-20 15:55:05 +01:00
codecov.yml Enable coverage reports for unit_tests 2017-03-28 10:40:13 +00:00
CONTRIBUTING.md Upgrade clang-format to version 15 (#6859) 2024-05-06 09:14:46 +02:00
cucumber.js Add 'load directly' mode to default Cucumber test suite (#6664) 2023-08-01 09:24:51 +01: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
LICENSE.TXT Update LICENSE to 2017 and fix typo in filename 2017-10-03 12:03:26 +02:00
package-lock.json Add NodeJs bindings benchmarks (#7004) 2024-07-26 19:36:43 +02:00
package.json Add NodeJs bindings benchmarks (#7004) 2024-07-26 19:36:43 +02:00
README.md Breeziie Organization 2025-02-04 02:36:59 +01:00
taginfo.json Set Maxspeed for Philippines (#6776) 2024-03-16 11:35:25 +00:00

Open Source Routing Machine

osrm-backend CI Codecov Discord

High performance routing engine written in C++ designed to run on OpenStreetMap data.

The following services are available via HTTP API, C++ library interface and NodeJs wrapper:

  • Nearest - Snaps coordinates to the street network and returns the nearest matches
  • Route - Finds the fastest route between coordinates
  • Table - Computes the duration or distances of the fastest route between all pairs of supplied coordinates
  • Match - Snaps noisy GPS traces to the road network in the most plausible way
  • Trip - Solves the Traveling Salesman Problem using a greedy heuristic
  • Tile - Generates Mapbox Vector Tiles with internal routing metadata

To quickly try OSRM use our demo server which comes with both the backend and a frontend on top.

For a quick introduction about how the road network is represented in OpenStreetMap and how to map specific road network features have a look at the OSM wiki on routing or this guide about mapping for navigation.

Related Project-OSRM repositories:

  • Match - Snaps noisy GPS traces to the road network in the most plausible way
  • Trip - Solves the Traveling Salesman Problem using a greedy heuristic
  • Tile - Generates Mapbox Vector Tiles with internal routing metadata

To quickly try OSRM use our demo server which comes with both the backend and a frontend on top.

For a quick introduction about how the road network is represented in OpenStreetMap and how to map specific road network features have a look at the OSM wiki on routing or this guide about mapping for navigation.

Related Project-OSRM repositories: