is possible to force osm2po to reroute when traffic jam or other problem is detected on the route ? Or is it possible to tell osm2po routing to avoid some node/way even when it is best route ?
I'm not Java programmer so I prefer non Java solution
is possible to force osm2po to reroute when traffic jam or other problem is detected on the route ? Or is it possible to tell osm2po routing to avoid some node/way even when it is best route ?
I'm not Java programmer so I prefer non Java solution
Both methods outlined below provide solutions from a transportation rather than a computer science based approach.
Method 1
The way this is done properly in Travel Demand Modelling (TDM) is in the Trip Assignment stage of the model.
Using the FHWA model, you can do the following:
Volume
Time_to_traverse
1600
passenger vehicles per lane per hour.V/C
= Volume over capacity tells you how full the highway isUse the following equation to estimate the Time to traverse the link:
Ti = T_o [1 + 0.15*(V/C)^4]
Where:
Now that you have your Volume, Capacity, and Time to traverse fields for your time periods, you can set up your model to traverse using cost=time_to_traverse
rather than cost=link_length
. when V/C approaches one, time_to_traverse
will go up and the model will reroute accordingly
Method 2:
Virtual_length
, and virtual_factor
If you know when volumes or traffic jams are going to occur on certain roads, assign those roads a Virtual factor
and Virtual_length = Virtual_factor * real_length
Route based on Virtual_length
Final Note:
I think this is a traffic engineering and modelling exercise more so than a programming problem