Proposal:Surface of embedded railway tracks
surface of embedded railway tracks | |
---|---|
Proposal status: | Draft (under way) |
Proposed by: | TrainTraveller |
Tagging: | surface=* |
Applies to: | way ![]() |
Definition: | Proposal to use the attribute surface to describe the surface of embedded railway tracks |
Statistics: |
|
Rendered as: | * |
Draft started: | 2025-02-23 |
RFC start: | * |
Vote end: | * |
Proposal
This proposal suggests extending the use of the surface=* tag to embedded railway tracks in OpenStreetMap. The surface tag was originally introduced to describe the physical material and composition of roads (highways). However, railway tracks also have surfaces that significantly impact their usability and maintenance.
Currently, there is no standardized way to describe the surface material around railway tracks. One approach would be to introduce a new tag, such as railway_surface=*, but this would require redundant tagging when a highway and a railway share the same physical path within a single Way in OSM.
Instead, this proposal suggests allowing surface=* to be used for railway=* ways, maintaining consistency and avoiding unnecessary duplication. This applies not only when a railway shares a path with a highway but also when the railway is mapped separately from the highway or when there is no highway at all.
Although the use of surface=* is just proposed for embedded railway tracks, this does not mean that surface=* should replace or change the use of embedded=*. For street crossings or street-running railways, and industrial tracks, where the use of embedded=* has been previously recommended, surface=* serves as an additional tag that provides information about the material while embedded=yes should still be applied. In contrast, for tram tracks, which are assumed to be mostly embedded by default and therefore the embedded=* tag is usually not present, it should also continue to be omitted whether surface=* is present or not.
This proposal does not address railway tracks that are not embedded or that have visible sleepers.
Rationale
1. Consistency with existing usage: The surface of a railway track is just as relevant as the surface of a highway in terms of usability and mapping needs.
2. Avoiding redundant tagging: In cases where a highway and railway share the same physical path (e.g., a tramway embedded in an asphalt road), both could be described with a single surface tag.
3. Common practice in mapping: Many mappers already apply the surface tag to railway tracks informally, so formalizing this usage would align with existing mapping habits.
4. Sufficient range of values: The surface tag already provides a sufficient range of distinct values to accurately describe the material beside and between the rails of embedded railway tracks.
Tagging
surface=* can be applied to railway=tram and similar embedded railway tracks, such as street-crossing and street-running railways or industrial tracks, where the surface material is relevant.
If a railway shares the same physical path as a road, the surface=* value applies to both.
If a highway and a railway are mapped as a single way but actually run parallel with different surface materials, the surface of the railway track can be described using railway:surface=* while surface=* applies only to the highway.
If a railway is mapped separately from a highway or there is no associated highway, surface=* can still be used in the same way as for highways to describe the material beside and between the rails.
Special Cases
Railway tracks with multiple surface materials:
Areas consisting of multiple materials can be described using a multi-value attribute, such as surface=asphalt;concrete, especially when the different materials are not clearly separated.
However, if the different materials are distinctly separated by the rails, the suffixes *:left, *:right, *:both, and *:centre can be added to the key to describe specific areas of the railway track.
surface:centre=* – Specifies the surface material between the rails of an embedded railway track.
surface:both=* – Specifies the surface material to the left and the right beside the railway track.
surface:left=* / surface:right=* – Allows tagging different materials separately on each side of the track outside.
If a railway track is embedded in a single material, surface=* alone is sufficient. These suffixes are only necessary when a distinction is needed.
If a highway is mapped on the same way, and the railway track has multiple materials, the prefix railway:* should be used to make it clear that the area refers to the railway track and not to the highway.
railway:surface:centre=* / railway:surface:both=* / railway:surface:left=* / railway:surface:right=* – Allows tagging different materials for each area of the railway track.
Examples
OSM-tags | Description | Picture |
---|---|---|
highway=primary railway=tram surface=asphalt |
A road for cars with rails for a tramway embedded into asphalt. | |
railway=tram surface=paving_stones |
a tram track embedded in paving stones | |
railway=tram surface=concrete:plates |
a tram track embedded in concrete plates | |
railway=rail embedded=yes surface=concrete |
a street-crossing railway track embedded in concrete | |
railway=tram surface:centre=paving_stones surface:both=concrete:plates |
a tram track embedded with paving stones between the rails and concrete plates beside the rails | |
railway=tram surface=concrete:plates surface:right=asphalt |
a tram track embedded with concrete plates but with asphalt in only one side of the rails |
Compatibility with existing data
- Existing surface=* tags remain unchanged for highways and paths.
- Mappers who prefer a separate tag can continue using additional attributes, but the surface tag would provide a simple and unified approach.
Comments
Please leave comments on the discussion page.
See Also
Voting
Voting will start in August 2025 at the earliest. Supporters are invited until then to contribute examples or photos, if they want.