Conditionals for objects
After i added Wuppertal to my Route QA i found tons of interesting stuff which basically made routing worse than it needed to be.
The common issue is a pure pedestrian crossing tagged as
highway=traffic_signals
crossing=traffic_signals
This is something completely different than:
highway=crossing
crossing=traffic_signals
The first has a repeating and thus statistically significant penalty which is being taken into account. The latter is a traffic_signal which is only requested on button press, so has no repeating penalty.
In tagging all pedestrian crossing with highway=traffic_signals you slow traffic on the specific roads. Now - where are those pedestrian crossings? On the main roads. So you slow down the main roads and push traffic to the living_streets around. I fixed halve a ton but still a lot left.
Another interesting thing was this:
https://www.openstreetmap.org/node/13104642234
description=Baustellen-Ampel
highway traffic=signals
traffic_signals=signal
traffic_signals:conditional=yes @ (2025 Aug 27-2026 Mar 31)
traffic_signals:direction=forward
It was a construction traffic_lights which somebody tagged and hoped that a conditional would somehow make it go away magically. It didnt. It gave a penalty until today when i deleted it.
You cant expect conditionals to work everywhere because you tag it. Conditionals work only in some rare and very tight use cases as with maxspeed.