User Tools

Site Tools


routing_in_transportation_networks

Graphenintegrationsplatform (GIP)

Official, intermodal traffic reference system for Austria.

Download

Downloads are available as part of the Open Government Data initiative here.

The dataset contains geographical and routing data, as Intrest Data Format (IDF) export.

Routing

Download this part of the dataset for routing purposes.

OSRM

Server API

Doc

Time and distance

# from Timisoara to Sevilla
"curl http://server.ip:5000/route/v1/driving/21.2250,45.7557;-5.9251,37.3682?overview=false"
# coordinates are always lon/lat

Geometries

# from Graz to Vienna

curl "http://server.ip:5000/route/v1/driving/9.7303,47.4174;15.4571,47.0503?overview=false"

Future work

Admin

Preprocess

Hardware

You will need a resourceful server with at least

  • 200G RAM for planet
  • 80G RAM for Europe.

Software

Prerequisites

git clone -b 5.21 https://github.com/Project-OSRM/osrm-backend.git
cd osrm-backend/
mkdir -p build
cd build/
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .

wget http://planet.osm.org/pbf/planet-latest.osm.pbf

Profiles define routing behaviour (turn restrictions etc).

Then decide which routing type you want: Dijkstra or Contraction hierarchies:

Contraction Hierarchies (CH)

./osrm-extract -p profiles/car.lua the.osm.pbf

./osrm-contract the.osrm

Preprocessing the planet file takes about

  • ~3 hours for extracting planet data
  • ~10 hours for contracting planet data

Multi-Level Dijkstra (MLD)

osrm-extract -p profiles/car.lua  the.osm.pbf
osrm-partition the.osrm
osrm-customize the.osrm

Deploy service

Hardware

A tinier server is sufficient here.

For planet you'll need > 100G RAM.

For Europe I used one with 64G RAM.

Software

Prerequisites

git clone https://github.com/Project-OSRM/osrm-backend.git
cd osrm-backend/
mkdir -p build
cd build/
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .

# and install

sudo cmake --build . --target install

# uninstall is possible too

sudo cmake –build . –target uninstall

Then you can start the service.

Note that with larger areas the service takes a few moments to start (europe: a minute or so). Pay attention to the log messsages to see when the service is accepting connections.

Contraction Hierarchies (CH)

osrm-routed --algorithm=ch  --max-table-size=1000  the.osrm # to allow for bigger distance matrix

Multi-Level Dijkstra (MLD)

osrm-routed –algorithm=MLD the.osrm
routing_in_transportation_networks.txt · Last modified: 2019/01/09 13:57 by mantis