UNPKG

@project-osrm/osrm

Version:

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

58 lines (38 loc) 1.47 kB
## Introduction This document describes how to build the example programs linked against libosrm. Every command snippet in this document assumes the starting $PWD as the main project's root level. #### Test data preparation Assuming you have Node.js installed: ```bash cd test/data/ make all cd ../../ ``` ### `example.cpp` After building and installing the main project (on this repo's root level): ```bash cd example/ mkdir build && cd build/ cmake .. cmake --build . ./osrm-example ../test/data/mld/monaco.osrm ``` The expected output is the distance and duration of the route set in the `example.cpp`. ### `example.js` To run this module in Node.js you need to install [node-cmake](https://www.npmjs.com/package/node-cmake) in the project's repo root level and pass the flag `-DENABLE_NODE_BINDINGS=On` when building the main project. Refer to the sub-section on preparing test data for the application in this document. Install the required packages after building the main project and serve the application: ```bash npm install cd example/ node example.js ``` You can reliably change the thread pool size of the process by setting the `UV_THREADPOOL_SIZE` variable before calling node: ```bash UV_THREADPOOL_SIZE=16 node example.js ``` See https://nodejs.org/docs/latest-v18.x/api/os.html#osavailableparallelism for more info. Then you can test it with: ```bash curl 'http://localhost:8888?start=7.419758,43.731142&end=7.419505,43.736825' ```