Open namdre opened 3 years ago
we might want to distinguish between:
The use case is starting to look very similar to --weights.priority-factor. It might be nice to configure a priority factor that is taken from an edge <param key="KEY" value="PRIORITY">
instead of the <edge priority="..."/>
attribute in order to accommodate different preferences
Possible implementations:
<vType>
attributes routingWeightKey
, routingWeightFactor
.@behrisch thoughts?
With the addition of novel vClasses (see #12335), this enhancement might also be worth tackling :)
Kind regards
The above implementation assumes that the preference values are embedded in the network. However, since they could be vType specific (not only vClass specific) it might make more sense to load them from an additional file or a weight file. (but this could still store them as edge params if necessary).
One more idea: we could borrow the architecture of vClass-specific speed and loading them from an additional file: https://sumo.dlr.de/docs/Networks/PlainXML.html#vehicle-class_specific_speed_limits
The downside is, that we need to set different types for the two directions of a bidi-track and we might not want to change edge types just to set routing preferences. On the other hand, it would only be a few new types for ta ypical network and being the "unusual" direction is a pretty "hard" property of the network. It's not quite as pretty with the current [0-4]-valued encoding of "certainty about the usual direction. The approach would probably be feasible for bicycle routing preferences as well.
result of discussion with @behrisch:
bicycle riders presumably prefer edges that have bicycle lanes (or that are exclusive for bicycle use) over those that only have shared lanes. This may be configured with vClass-specific speeds but is rather un-intutive. An option might be more usable.
Also, vClass-specific speeds would also influence the simulation behavior and not only routing!