cyclosm / cyclosm-cartocss-style

Cycle oriented CartoCSS style.
https://www.cyclosm.org
Other
240 stars 44 forks source link

Render tagging of right-on-red on way / point #535

Open brainwad opened 3 years ago

brainwad commented 3 years ago

Cyclosm supports rendering the restriction:bicycle=give_way relation, which seems most common in France. But there is a competing tagging style that seems more common outside France, especially in Germany: red_turn:(right|left)(:bicycle)=yes, which is tagged on the traffic_signal node that can be ignored. On mixed traffic roads we would want to render only the red_turn:(right|left):bicycle, but on cycle paths the :bicycle is dropped and bare red_turn:right or red_turn:left is used.

Because this is tagged on the traffic signal node, it requires some special logic: if the node is an intersection, it applies to all incoming ways; if it's not an intersection or an intersection only between footway and road/cycleway, then it applies only in the direction the traffic signal is facing (determined from traffic_signals:direction if tagged, otherwise you need to know which side is closer to an intersection to infer it). And rendering might be interesting since the traffic signal and the give way sign will overlap?

There is also the traffic_signals:turn proposal which proposes a schema for tagging the way. It doesn't seem very used for bicycle right-on-red at the moment, though it would be easy to render - just render it on the end of the way, like in #531.

Phyks commented 3 years ago

This would indeed be a nice addition, but the seems seems to be quite difficult to consume in a meaningful way for a render. Happy to take any PR for this!

Florimondable commented 3 years ago

Just render the give way board on the node ?

Phyks commented 3 years ago

There is a conflict between the give way board icon and the traffic signal icon. Therefore, we probably need a dedicated icon, but this is doable.

Because this is tagged on the traffic signal node, it requires some special logic: if the node is an intersection, it applies to all incoming ways; if it's not an intersection or an intersection only between footway and road/cycleway, then it applies only in the direction the traffic signal is facing (determined from traffic_signals:direction if tagged, otherwise you need to know which side is closer to an intersection to infer it). And rendering might be interesting since the traffic signal and the give way sign will overlap?

I was concerned about this in the "tag all crossing" scheme : https://wiki.openstreetmap.org/wiki/Tag:highway%3Dtraffic_signals#Tag_all_crossings.

From a quick overpass turbo check, it seems most if not all such nodes are tagged with the "tag all incoming ways" scheme, which makes consumption way easier for rendering.

Phyks commented 1 year ago

I'm going over the backlog. Regarding this issue, I know that in France, restriction:bicycle=give_way are the most common scheme and is seeing a constant increase in usage.

On the contrary, red_turn:right seems to be plateau-ing and is not having a huge usage worldwide.

Apart from some countries such as the US where turning on red might be allowed for most vehicles, I know this specificity for bicycles exist at least in Netherland, Switzerland, Germany and Belgium.

I cannot find any local language OSM wiki page indicating which tagging scheme should be preferred in these areas, such as there could be in the French wiki.

Would anyone familiar with this tagging have links to OSM wiki to share?

Thanks