Proposal:Map public transport itineraries using superroute relations
map public transport using superroute relations | |
---|---|
Proposal status: | Inactive (inactive) |
Proposed by: | Polyglot |
Tagging: | type=superroute |
Statistics: |
|
Draft started: | 2020-10-16 |
Proposal
Instead of mapping itineraries as route relations containing the whole string of ways, it would be more efficient to use superroute relations that contain route relations with the ways for each section.
Rationale
Our highways and railways are members in many route relations. If one of these route relations 'breaks' usually all the others for that same section are 'broken' as well. If public transport gets rerouted, there is a lot of work involved to change all these route relations.
We could do better by adding a level of indirection. Shorter route relations that contain the ways for section that is shared by all vehicles of a line that travel in the same direction. Then these route relations can be assembled using a superroute relation to describe the full itinerary of a variation of a line.
Examples
For most ways that are not oneway, this will mean they become a member of 2 route relations, which in turn can be members in many superroute relations.
If a way splits and joins again a bit further, there will still be only 2 route relations for those bundles.
- A _____B_____ C
- --------< ___________ >----------
- D
In right hand traffic, there is a route relation that goes from right to left containing ways CBA. And another route relation going from left to right containing ADC.
I created code in JOSM to help with the conversion and gave this a lot of thought over the past few weeks. With good tools to manage this, it will actually become easier to work with public transport relations and maintain them. This has been on my mind for a good number of years now. I have no idea how it will be received. I do realise it may be very difficult to overcome
- ___A____b_____C_____
- ___D____|_____E_____
- |
- |F
- |
- |G
- b is the very short connection between C and F (on a crossing)
- There are no buses going straight from C to A (because the bus station is south of G). No buses from D to E either, but what I wanted to show is that b is in 2 sub route relations and does not become an independent segment on its own.
Then we have these segments:
- Cb
- bA
- D
- E
- FG
- GF
Tagging
The route_master relations that describe the lines
contain
superroute relations for each variation in itinerary
which in turn contain
- the stops in the correct order
- a sequence of route relations for each segment (string of ways) for vehicles traveling in the same direction
The tagging of the route_master relations doesn't change.
The superroute relations get the following tags:
type route name ref colour operator network
(public_transport:version=2 is not necessary anymore)
The route relations get the following tags:
type route note route_ref
(public_transport:version=2 is not necessary anymore here either)
Applies to
Public transport
Rendering
If a renderer shows only the (sub) route relations, it will still be visible where the vehicles pass. If a renderer wants to show the line numbers, they will either have to show the contents of route_ref, or they would have to look at the parent superroute relation's ref tags.
Features/Pages affected
External discussions
Comments
Please comment on the discussion page.