====== Graphenintegrationsplatform (GIP) ======
Official, intermodal traffic reference system for Austria.
===== Download =====
Downloads are available as part of the Open Government Data initiative [[https://www.data.gv.at/katalog/dataset/3fefc838-791d-4dde-975b-a4131a54e7c5|here.]]
The dataset contains geographical and routing data, as Intrest Data Format (IDF) export.
===== Routing =====
Download [[https://www.data.gv.at/katalog/dataset/intermodales-verkehrsreferenzsystem-osterreich-gip-at-beta/resource/0775cf69-7119-43ec-af09-9da1016a4b94|A - Routingexport: IDF Gesamtfile]]
of the dataset for routing purposes.
====== OSRM ======
===== Server API =====
[[https://github.com/Project-OSRM/osrm-backend/blob/master/docs/http.md|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 =====
km distance matrix:
[[https://github.com/Project-OSRM/osrm-backend/issues/1353#issuecomment-170942623|https://github.com/Project-OSRM/osrm-backend/issues/1353#issuecomment-170942623]]
[[https://github.com/Project-OSRM/osrm-backend/pull/2764|https://github.com/Project-OSRM/osrm-backend/pull/2764]]
traffic data:
[[https://github.com/Project-OSRM/osrm-backend/wiki/Traffic|https://github.com/Project-OSRM/osrm-backend/wiki/Traffic]]
===== Admin =====
Backend [[https://github.com/Project-OSRM/osrm-backend|https://github.com/Project-OSRM/osrm-backend]]
Wiki [[https://github.com/Project-OSRM/osrm-backend/wiki|https://github.com/Project-OSRM/osrm-backend/wiki]]
==== Preprocess ====
=== Hardware ===
You will need a resourceful server with at least
* 200G RAM for planet
* 80G RAM for Europe.
=== Software ===
[[https://github.com/Project-OSRM/osrm-backend/wiki/Building-on-Ubuntu|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|http://planet.osm.org/pbf/planet-latest.osm.pbf]]
[[https://github.com/Project-OSRM/osrm-backend/wiki/Profiles|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 ====
[[https://github.com/Project-OSRM/osrm-backend/wiki/Running-OSRM|https://github.com/Project-OSRM/osrm-backend/wiki/Running-OSRM]]
=== Hardware ===
A tinier server is sufficient here.
For planet you'll need > 100G RAM.
For Europe I used one with 64G RAM.
=== Software ===
[[https://github.com/Project-OSRM/osrm-backend/wiki/Building-on-Ubuntu|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