Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move guideways to roads #5057

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

dch0ph
Copy link
Contributor

@dch0ph dch0ph commented Jan 24, 2025

Fixes #3581

Changes proposed in this pull request:

As part of #5041, the guideways layer containing highway=bus_guideway should be moved into the roads layer. Accepting that the rendering used for bus_guideway is sub-optimal, this PR has the limited goals of:

  • moving guideways to a more appropriate place in the rendering stack
  • providing a tunnel and bridge variant (addressing highway=bus_guideway layering, tunnels, covered, bridges #3581)
  • adding oneway arrows
  • adding both highway=bus_guideway and highway=busway to the highway types in the osm2pgsql import, which will facilitate a future coherent approach to rendering both features.
  • A slight increase in width at Z17+ (mirroring railway signatures).
  • small optimisations to the roads handling in SQL/MSS.

It doesn't currently add a name render (in contrast to the other features of the roads layers).

It assumes that the highway=bus_guideway rendering will be narrower/lower priority than highway=busway. Their priority is below the "standard" road types, but above highway=service.

Test rendering with links to the example places:

Before

Bus guideway in middle of dual carriageway at Z14:

image

After

image

Note how guideway is currently drawn of top of roads. In the revised render, the lower priority guideway is "hidden" by the overlapping dual carriageways (expected behaviour)

Same location at Z18:
Before:

image

After:
image

Note the better join, the oneway arrow indicating direction of guideway and the slightly thicker width.

Bridges/tunnels involving guideways are very rare. The artificial legend shows the rendering proposed for tunnel, bridge and normal variants respectively, and also shows that layer=1 applied to the bridge and "normal" variants works as expected:

image

Note that the highway prioritisation will only work correctly after a database import.

Also tweak to SQL for link roads
Also simplification of selectors
Copy link
Collaborator

@imagico imagico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not tested yet.

I am fine with adding bus_guideway and busway to the z_order definitions.

Likewise for integrating the bus guideways with the roads, fixing the layering issues and removing coding oddities.

I am not sure if changing the appearance of guideways with the current design is a good idea. I consider this design a dead end - both regarding color and regarding the similarity to railways. The natural choice for the future would be to combine it design wise with the rendering of other bus exclusive roads.

Given that #214 is addressed now it would be possible to work on an overall design paradigm for bus exclusive roads (and possibly other access restriction with exception variants) - removing the need to invest into maintaining the old bus guideway design.

But this is just my personal idea of what i would consider the most effective approach long term. And the lack of a clear tagging consensus on bus exclusive roads makes that idea somewhat difficult to pursue of course. And also the political investment of certain loud parts of the OSM community in this matter has also turned this into a bit of a minefield.

Bottom line: I don't have a substantial objection against the design adjustments per se but i am a bit wary about this sending the wrong message (to developers as well as map users) of re-emphasized endorsement of the legacy rendering of bus_guideway.

Anyone who wants to work on a comprehensive design approach to bus exclusive roads - as a follow-up to #4952 and in pursuit of the goals of the project and with the ambition to develop a good holistic design - has my full support.

@@ -400,6 +400,8 @@ local roads_info = {
primary_link = { z = 220, roads = true },
secondary_link = { z = 210, roads = true },
tertiary_link = { z = 200, roads = false },
busway = {z = 190, roads = false},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whitespace inconsistency here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Fix whitespace
Remove width increase for Z17+
@dch0ph
Copy link
Contributor Author

dch0ph commented Jan 26, 2025

I am not sure if changing the appearance of guideways with the current design is a good idea. I consider this design a dead end - both regarding color and regarding the similarity to railways. The natural choice for the future would be to combine it design wise with the rendering of other bus exclusive roads.

This certainly wasn't intended to endorse the current design - merely split off the technical aspects of creating a new highway render from the design ones. I have removed the widening from Z17+ so there is less chance of misinterpretation.

Anyone who wants to work on a comprehensive design approach to bus exclusive roads - as a follow-up to #4952 and in pursuit of the goals of the project and with the ambition to develop a good holistic design - has my full support.

Indeed. I think a holistic design to highway=busway + highway=bus_guideway is in grasp. If I remember correctly the most recent proposals were made by @tjur0 in #4226? Simultaneously addressing bus exclusive roads (as you demonstrated here) would reduce the risk of biasing tagging between highway=busway vs. highway=service + access=no + bus=yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

highway=bus_guideway layering, tunnels, covered, bridges
2 participants