-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Traffic
Daniel Patterson edited this page Dec 22, 2015
·
29 revisions
Biggest feature in OSRM 4.9.0
is experimental support of traffic data. This
is achieved by providing osrm-prepare
with an additional file that specifies
edge weight updates. For convinience it is a csv file with from_osm_id,to_osm_id,edge_speed_in_km_h
.
./osrm-extract data.osm.pbf -p profile.lua --generate-edge-lookup
./osrm-prepare data.osrm -p profile.lua --speed-segment-file updates.csv
# modify updates.csv
./osrm-prepare data.osrm -p profile.lua --speed-segment-file updates.csv
# Repeat in loop for desired update time
Since this is too slow for big datasets to get meaningful updates cycles you
can do a partial contraction using the --core-factor
paramter. This
increases query times dramatically and make the alternative search slow.
./osrm-extract data.osm.pbf -p profile.lua --generate-edge-lookup
# about x8 speedup wrt to --core-factor 1.0
./osrm-prepare data.osrm -p profile.lua --speed-segment-file updates.csv --core-factor 0.8
# modify updates.csv
./osrm-prepare data.osrm -p profile.lua --speed-segment-file updates.csv --core-factor 0.8
# Repeat in loop for desired update time
For even more speedups use the --level-cache
option:
./osrm-extract data.osm.pbf -p profile.lua --generate-edge-lookup
# For the first run a core-factor of 1.0 is required
./osrm-prepare data.osrm -p profile.lua --speed-segment-file updates.csv --core-factor 1.0
# modify updates.csv
./osrm-prepare data.osrm -p profile.lua --speed-segment-file updates.csv --core-factor 0.8 --cache-level true`
# Repeat in loop for desired update time