Proposed features/Relation:mountain pass
|Status:||Draft (under way)|
|Definition:||The ability to tag all ways making up a mountain pass, not just the saddle point.|
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 ( ). 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 undoubtedly countless more mountain passes that have yet to be added to OSM.
|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).|
|(blank)/route||One or more||The ways making up the route.|
|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.|
|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.|
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.
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.
A mountain pass is usually depicted with a "bridge like" symbol:
\ / | | / \
So with a way going trough it, this looks like:
| \ | / | | | / | \ |
- If approved, this feature would be fully described at route=mountain_pass.
- It should go without saying that this would need to be added to Map Features.
- type=route would need to reference route=mountain_pass.
- mountain_pass=* should mention route=mountain_pass as an alternative.
- It should be noted that there are no plans to discourage or deprecate usage of mountain_pass=*.
Please comment on the discussion page.