Proposed features/Relation:mountain pass

From OpenStreetMap Wiki
Jump to: navigation, search
Relation: mountain_pass
Status: Draft (under way)
Proposed by: Kelerei
Tagging: route=mountain_pass
Applies to: relation
Definition: The ability to tag all ways making up a mountain pass, not just the saddle point.
Rendered as: Pass 1.png
Drafted on: 2016-02-15


A mountain pass is a route through a mountain range or over a ridge.

This proposal extends the existing mountain_pass=* feature (whilst attempting to fit into the type=route relation framework) by allowing the mountain pass route to be tagged in addition to simply tagging the highest point of the route.


The existing mountain_pass=* tag only defines "the highest point of a mountain way passing a crest", but also states that the term "mountain pass" is ambiguous in common usage, citing the Wikipedia article (mountain pass). In common usage, the meaning could be either a highway (road, footway, etc.) up and down the mountain pass (hereafter referred to as the route), or the topographic saddle point. OSM differentiates between the two concepts, but only defines clear tagging for the highest point of the way; there is no clear tagging scheme to identify the route going up and/or down the mountain pass. This was brought up as far back as 2007 on the talk page for the mountain_pass tag, but no consensus was reached.

This proposal aims for the best of both worlds: a clear and concise way to tag both the topographic saddle point and the route as being part of the same mountain pass, while at the same time, keeping a distinction between the two; thus, both OSM differentiation and common usage can be represented. A relation, fitting into the existing type=route framework, appears to be the most appropriate way of achieving this goal (relations were in their infancy around the time of the original 2007 discussion, which could explain why it was not considered a solution back then). Using a relation also ensures that the existing definition of mountain_pass=* remains unchanged, thus preserving backwards compatibility.


There are many mountain pass saddle points tagged with mountain_pass=yes. All of these are candidates to be extended with the proposed route=mountain_pass relation (especially the usages on ways).

There are undoubtedly countless more mountain passes that have yet to be added to OSM.



Key Value Usage Explanation
type=* route Mandatory Indicates that the relation represents a route.
route=* mountain_pass Mandatory Indicates that the route represents a mountain pass.
name=* a name Mandatory/Recommended The route is known by this name (e.g., "Franschhoek Pass", "Khyber Pass"). Mandatory if no parent relation route_master=* exists; otherwise, recommended (but mandatory on the parent relation).
name:<lg> a localized name Recommended The route is known by this name in the specified language (e.g. name:it=Passo dello Stelvio and name:de=Stilfserjoch). As an example, these could be included in cases where passes are the border between two countries and hence have names in (at least) two languages; however, a simple name=* is still advisable to support simple renderers. See: Multilingual_names.
ref=* a reference Recommended/Optional The reference by which this route is known. e.g. A7, R45. Recommended if no parent relation route_master=* exists; otherwise, optional (but recommended on the parent relation).
ele=* an elevation (default: metres) Recommended/Optional The elevation of the saddle point. Recommended if no parent relation route_master=* exists; otherwise, optional (but recommended on the parent relation).
ele:start=* an elevation (default: metres) Optional The elevation of the route's starting point.
ele:end=* an elevation (default: metres) Optional The elevation of the route's ending point.
incline=* an elevation (default: metres) Recommended/Optional The signposted incline of the route. The value should be given for the practical maximum incline on the route, and not the average incline of the route (see: Talk:Key:incline). Recommended if no parent relation route_master=* exists; otherwise, optional (but recommended on the parent relation).


Way/node Role Recurrence? Discussion Example
way (blank)/route One or more The ways making up the route. Sani Pass heading into Lesotho.jpg
node saddle Exactly one The highest point of the route passing a crest. This is the node that would have been tagged with mountain_pass=yes; in fact, it is recommended that the node be additionally be given this tag for backwards compatibility reasons. Saddleroute3.JPG
node sign Zero or more The point(s) where any signs indicating the mountain pass are. These should be placed at the precise sign locations where possible. Du toitskloof Pass.jpg

Advanced tagging

Dual carriageways

In the case of a dual carriageway, or similar cases where the route going in one direction through the mountain pass differs from the route going in the opposite direction, create separate route=mountain_pass relations for each direction, then add them to a route_master=* relation (specifying route_master=mountain_pass).

Notes to data consumers

Usage of incline=* on the relation

The usage of incline=* on the relation is intended to represent the incline as signposted at the actual location. This is mainly intended to benefit renderers, which can render this information as text at the saddle point.

Routing engines should approach this with caution. While it is possible to assume that the incline is uphill from the start point to the saddle, and downhill from the saddle to the end point, there would be cases where this assumption may not hold. Routing engines should therefore test for incline=* being tagged on the ways themselves and, if present, use that value over the value of incline=* on the relation.

Sign role

The primary purpose of the sign role is to provide, to the makers of navigators, a place to render a mountain pass sign at the point where the sign exists. The rationale behind this is the same as for the destination sign relation: either the aforementioned rendering, or in turn-by-turn descriptions when following an already-made route. This is not intended to be used to aid the creation of routes.


The following rendering was originally proposed on the mountain_pass=* talk page, and has been transcribed as-is.


A mountain pass is usually depicted with a "bridge like" symbol:

\  /
|  |
/  \

So with a way going trough it, this looks like:

\ | /
| | |
/ | \

If the symbol is not oriented along the way it can look like that Pass 1.png or with simple point with name and altitude.


Geomorphology vosges.png Flou col de la portette.png Flou col du rousset.png Flou col des limouches.png Flou pas du margeat.png Flou col des limouches 2.png

Features/Pages affected


Please comment on the discussion page.