This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
routing_in_transportation_networks [2018/08/22 11:41] mantis |
routing_in_transportation_networks [2019/09/11 09:18] (current) mantis [Routing] |
||
---|---|---|---|
Line 13: | Line 13: | ||
===== Routing ===== | ===== Routing ===== | ||
- | Download [[https://www.data.gv.at/katalog/dataset/intermodales-verkehrsreferenzsystem-osterreich-gip-at-beta/resource/0775cf69-7119-43ec-af09-9da1016a4b94|this]] part of the dataset for routing purposes. | + | 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 ====== | ====== OSRM ====== | ||
Line 25: | Line 26: | ||
<code> | <code> | ||
# from Timisoara to Sevilla | # from Timisoara to Sevilla | ||
- | curl http://10.101.21.34:5000/route/v1/driving/21.2250,45.7557;-5.9251,37.3682?overview=false | + | "curl http://server.ip:5000/route/v1/driving/21.2250,45.7557;-5.9251,37.3682?overview=false" |
# coordinates are always lon/lat | # coordinates are always lon/lat | ||
</code> | </code> | ||
Line 34: | Line 35: | ||
# from Graz to Vienna | # from Graz to Vienna | ||
- | curl "http://10.101.21.34:5000/route/v1/driving/9.7303,47.4174;15.4571,47.0503?overview=false" | + | curl "http://server.ip:5000/route/v1/driving/9.7303,47.4174;15.4571,47.0503?overview=false" |
</code> | </code> | ||
Line 49: | Line 50: | ||
[[https://github.com/Project-OSRM/osrm-backend/wiki/Traffic|https://github.com/Project-OSRM/osrm-backend/wiki/Traffic]] | [[https://github.com/Project-OSRM/osrm-backend/wiki/Traffic|https://github.com/Project-OSRM/osrm-backend/wiki/Traffic]] | ||
- | ====== Admin ====== | + | ===== Admin ===== |
Backend [[https://github.com/Project-OSRM/osrm-backend|https://github.com/Project-OSRM/osrm-backend]] | Backend [[https://github.com/Project-OSRM/osrm-backend|https://github.com/Project-OSRM/osrm-backend]] | ||
Line 55: | Line 56: | ||
Wiki [[https://github.com/Project-OSRM/osrm-backend/wiki|https://github.com/Project-OSRM/osrm-backend/wiki]] | Wiki [[https://github.com/Project-OSRM/osrm-backend/wiki|https://github.com/Project-OSRM/osrm-backend/wiki]] | ||
- | ===== Preprocess ===== | + | ==== Preprocess ==== |
- | ==== Hardware ==== | + | === Hardware === |
You will need a resourceful server with at least | You will need a resourceful server with at least | ||
* 200G RAM for planet | * 200G RAM for planet | ||
- | * 60G RAM for Europe. | + | * 80G RAM for Europe. |
- | I used flexo for preprocessing CH. | ||
- | ==== Software ==== | + | |
+ | === Software === | ||
[[https://github.com/Project-OSRM/osrm-backend/wiki/Building-on-Ubuntu|Prerequisites]] | [[https://github.com/Project-OSRM/osrm-backend/wiki/Building-on-Ubuntu|Prerequisites]] | ||
<code> | <code> | ||
- | git clone https://github.com/Project-OSRM/osrm-backend.git | + | git clone -b 5.21 https://github.com/Project-OSRM/osrm-backend.git |
cd osrm-backend/ | cd osrm-backend/ | ||
mkdir -p build | mkdir -p build | ||
Line 85: | Line 86: | ||
Then decide which routing type you want: Dijkstra or Contraction hierarchies: | Then decide which routing type you want: Dijkstra or Contraction hierarchies: | ||
- | ==== Contraction Hierarchies (CH) ==== | + | === Contraction Hierarchies (CH) === |
<code> | <code> | ||
- | osrm-extract -p profiles/car.lua the.osm.pbf | + | ./osrm-extract -p profiles/car.lua the.osm.pbf |
- | osrm-contract the.osrm | + | |
+ | ./osrm-contract the.osrm | ||
</code> | </code> | ||
Line 95: | Line 97: | ||
* ~3 hours for extracting planet data | * ~3 hours for extracting planet data | ||
- | * ~10 for contracting planet data | + | * ~10 hours for contracting planet data |
- | ==== Multi-Level Dijkstra (MLD) ==== | + | === Multi-Level Dijkstra (MLD) === |
<code> | <code> | ||
Line 105: | Line 107: | ||
</code> | </code> | ||
- | ===== Deploy service ===== | + | ==== Deploy service ==== |
[[https://github.com/Project-OSRM/osrm-backend/wiki/Running-OSRM|https://github.com/Project-OSRM/osrm-backend/wiki/Running-OSRM]] | [[https://github.com/Project-OSRM/osrm-backend/wiki/Running-OSRM|https://github.com/Project-OSRM/osrm-backend/wiki/Running-OSRM]] | ||
- | ==== Hardware ==== | + | === Hardware === |
A tinier server is sufficient here. | A tinier server is sufficient here. | ||
Line 117: | Line 119: | ||
For Europe I used one with 64G RAM. | For Europe I used one with 64G RAM. | ||
- | ==== Software ==== | + | === Software === |
[[https://github.com/Project-OSRM/osrm-backend/wiki/Building-on-Ubuntu|Prerequisites]] | [[https://github.com/Project-OSRM/osrm-backend/wiki/Building-on-Ubuntu|Prerequisites]] | ||
Line 138: | Line 140: | ||
</code> | </code> | ||
- | ==== Contraction Hierarchies (CH) ==== | + | 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) === | ||
<code> | <code> | ||
Line 144: | Line 150: | ||
</code> | </code> | ||
- | ==== Multi-Level Dijkstra (MLD) ==== | + | === Multi-Level Dijkstra (MLD) === |
<code> | <code> |