OSRM Builder implements Multi-Level Dijkstra (MLD) pre-processing pipeline to build a OSRM Server using Docker.
- Fetch OpenStreetMap extracts (OSM Data file) from Geofabrik.
- Pre-process the extract with the car profile.
- Upload pre-process files to Google Storage.
You will need to install Docker and create a Google Service Account to use a storage in order to upload the OSRM Builder files.
$ docker build --no-cache osrm/osrm-server-builder:v1 .
$
docker run -v /tmp:/secrets --env GEOFABRIK_URL=http://download.geofabrik.de/europe/monaco-latest.osm.pbf --env BUCKET_NAME=osrm-monaco-server --env GOOGLE_APPLICATION_CREDENTIALS=/secrets/services_account.json osrm/osrm-server-builder:v1
time="2023-01-13T03:41:22Z" level=info msg="Fetching OSM data file: http://download.geofabrik.de/europe/monaco-latest.osm.pbf"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
92 477k 92 439k 0 0 253k 0 0:00:01 0:00:01 --:--:-- 254k
100 477k 100 477k 0 0 271k 0 0:00:01 0:00:01 --:--:-- 271k
time="2023-01-13T03:41:24Z" level=info msg="Start OSRM pre-processing"
time="2023-01-13T03:41:24Z" level=info msg="Extracting data."
[info] Parsed 0 location-dependent features with 0 GeoJSON polygons
[info] Using script /opt/car.lua
[info] Input file: map.osm.pbf
[info] Profile: car.lua
[info] Threads: 5
[info] Parsing in progress..
[info] input file generated by osmium/1.14.0
[info] timestamp: 2023-01-11T21:21:07Z
[info] Using profile api version 4
[info] Found 3 turn restriction tags:
[info] motorcar
[info] motor_vehicle
[info] vehicle
[info] Parse relations ...
[info] Parse ways and nodes ...
[info] Using profile api version 4
[info] Using profile api version 4
[info] Using profile api version 4
[info] Using profile api version 4
[info] Parsing finished after