eclipse-sumo / sumo

Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
https://eclipse.dev/sumo
Eclipse Public License 2.0
2.49k stars 1.41k forks source link

add option to set a preference factor for bicycle infrastructure #9091

Open namdre opened 3 years ago

namdre commented 3 years ago

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!

namdre commented 2 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:

@behrisch thoughts?

M-Colley commented 5 months ago

With the addition of novel vClasses (see #12335), this enhancement might also be worth tackling :)

Kind regards

namdre commented 5 months ago

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.

namdre commented 5 months ago

result of discussion with @behrisch: