Adding the track side to route=railway relation members

Double-track railway lines have left and right side tracks. See the Hungarian railway code:

1.2.50. Right and left track
On double-track lines, when looking towards the end point, the track on the right hand side is called the right track, the other one is the left track.

This naming convention is probably the same in all countries.

In Hungary, if there are more than two tracks, letters can also be used, for the 3rd track and above:

1.2.125. Multi-track line
Railway lines with more than two tracks shall be called multi-track lines.
On multi-track lines, the naming convention of double-track lines is extended: the additional tracks shall be indicated by the capital letters of the alphabet. Each track shall be named (right, left, A, B, C) by the railway network operator’s central traffic office.

These names are not currently stored in the OSM database, so I would like to suggest the following optional member roles for multi-track route=railway and route=tracks relation sections:

  • for two-track sections:
    • left
    • right
  • additional roles for 2+ track sections:
    • A
    • B
    • etc.

This would make it easier for users to query a section of track (e.g. from the info ‘Hungary, line 30, metre 4100, left track’) in order to pinpoint an exact location, or e.g. visualise rail defects or temporary speed restrictions on a section of the track (I’m actually trying to do the latter now) based on OSM data.

This would be particularly useful where there is a shift in the axis of the tracks, such as on the Hungarian railway line 30 at Budapest-Kelenföld, and the sides are not continuous:

Here the line runs from north to south. Initially the green track is the left track and the yellow one is the right. But in the middle a new railway line (no. 29) stems from the right track, so they both move one to the east. The continuation of the left track (marked with green) becomes the right one (blue) and the purple one becomes the left one. So it would be quite difficult to guess the sides of the tracks, e.g. with a Python script, without these member roles.

What do you think about this idea?