Hello,
you are posing an interesting question that hasn't really come up before.
It appears that typical scenario creators didn't have access to both OD-Matrix and counting data. Hence, there is a gap in documentation and tooling for this use case.
Your thoughts on the matter are correct.
With regard to 1. (using equilibrium routes rather than free-flow routes) you could employ the following alternatives:
- create move variance in the routes by running duarouter with option --weights.random-factor
With regard to 2, you should be able to use the routeSampler.py option --od-files to ensure that all vehicles are put into the simulation (rather than only those that pass city-center counting locations). This should in principle allow a perfect
fit with the OD-Matrix.
There are some limitations to this approach:
|
to be used as routeSampler.py input via option --od-files
|
- by using a fixed assignment of trips to edges (from od2trips), you are losing degrees of freedom that might be needed to match the counting data. A possible fix is outlined at
https://github.com/eclipse/sumo/issues/6890
|
related to #6888 but with taz-ids instead of edges. (Requires loading a taz-file as well)
|
- there is no guarantee that the sampled routes have a similar frequency compared to the "equilibrium" input. You can set option --weighted to improve this likelihood but if the counts go in a particular way you could get artifacts
Overall I'd be quite interested in hearing about your progress if you chose to follow the OD2trips + routeSampler approach.
If you happen to work on tooling, pull requests are also welcome.
regards,
Jakob