Hello,
I am coming back on this topic because we recently implemented the workflow and we are testing different correction parameters.
In short, our target is to tweak the input data coming from OpenStreetMap to take into account traffic. We do so by applying corrections to maxspeed
based on geographical estimation of traffic in the following manner:
- We modify OSM data with our estimated
maxspeed
values. - All the road segment have a
maxspeed
assigned. - We build the OSR instance with the modified data. In this way we can build several machines with different
maxspeed
settings. - We test the matrix service of the different machines on an origin-destination test dataset and we compare it against a benchmark to find the optimal
maxspeed
settings.
Let’s say we have machine A and B built with different maxspeed
settings; B with the maxspeed
values halved compared to A. So, A and B are parametrised exactly the same but built on two different OSM data that differ only on the maxspeed
tags. We use the default car
profile.
We would expect the times returned by B on the test dataset to be longer than the times returned by A on the same dataset.
We find the opposite behaviour, B with lower maxspeed
returns remarkably shorter driving times than A.
It seems to me that we might have a data problem or some bug in our code but I find it hard to understand the inputs behind the computations. I have two questions whose answer could help me with the debugging:
- If all the
maxspeed
are filled and not missing, is there any other heuristic or other parameter that can affect the final results when calculating driving time ? - Do you suggest any way to debug the results of the
matrix
service or to extract the data that is used to compute the driving time ? Ideally the graph with the final speed that is used to compute the final result (we are thinking, for example, of using thedirection
service to return the geometry and then fetch the corresponding segments from the graph that was used to build the ORS machine)
Thank you very much for your attention,
Duccio Aiazzi