Roles for recreational route relations
Definition and scope
Basic role values (main, alternative, excursion, approach and connection) are defined for members of recreational route relations, except where a more specific proposal has been approved. An example of such an exception is route=piste. The approved role set applies to routes of these types: bicycle, canoe, foot, hiking, horse, inline_skates, mtb, running.
This does not exclude the use in non-recreational routes. The connection role is already in use for relations of type network, and is certainly applicable for "functional bicycle routes" which are intended for commuters rather than recreation.
The roles enable renderers and data users to filter or select members for further processing according to role value. Different line types could be rendered for different roles, e.g. continuous for main and dashed for all other roles. Or select only members with a particular role to calculate length or elevation profile.
and members of a relation tagged with type=route and route=hiking or route=foot or route=bicycle or any other recreational route type (canoe, horse, inline_skates, mtb, running), except where a more specific proposal has been approved. An example of such an exception is route=piste.
Note: Role values for node members are not defined here.
|None or main||The role value for the main section(s) of a signposted or in any way waymarked route.|
|alternative||A signposted or otherwise waymarked alternative branching off then rejoining the main route at a significantly different point. The alternative is used instead of a section of the main route.|
|excursion||A signposted or otherwise waymarked side track which rejoins the main track at or close to the same point where it left, e.g. to visit a place of interest. The excursion is an optional addition to the main route.|
|approach||Signposted or otherwise waymarked access route to or from transport infrastructure e.g. parking, train station, bus station, cable car. An approach is used in addition to the main route.|
|connection||Signposted or otherwise waymarked link route from one recreational route to another recreational route and vice versa. A connection is used to switch from one route to another. Note that an approach might act as a connection, e.g. when it ends/begins at a major train station where other routes also pass through. In that case, use the role approach.|
Given this definition, the connection should appear in both routes involved.
Note the "signposted or otherwise waymarked" requirement. Even the most useful path for approach that is not signed/waymarked as a part of the route must not be added to the route relation.
When to apply to way members, and when to relation members
The roles are applicable to way members in a basic (single strand) route relation, and to relation members (child relations) in a parent route relation or superroute.
Apply to ways: only in single strand routes without forward/backward roles
Do not use these roles on ways in double strand route relations, i.e. relations with forward/backward roles on way members. The forward/backward roles (directional roles) cannot be combined with the functional variant roles on the same ways.
Recreational routes are often single strand i.e. either both directions use exactly the same ways or the route is waymarked in one direction only.
Ways in double strand route relations, especially common in bicycle routes, use the roles forward and backward to indicate in which direction a way should be used with respect to the direction it is drawn in OSM. This is in effect a way to combine two routes in one route relation, where most of the ways are common to both route directions while other sections have different ways for each direction. This directional use of roles on ways can conflict with the functional roles, when e.g. a bicycle route has an alternative route with forward and backward roles in it. There is no approved way to combine two roles for one relation member.
If this problem occurs, map the variant route in a separate route relation. Then include both the main route relation and the variant route relation as members in a parent route relation. This is described in the next section.
Apply to child relations in a route hierarchy
Within a parent relation, apply the roles to the members of type relation. Note that a particular member relation may have one role in one parent, and at the same time a different role in another parent relation. The parent relation itself may be a member of one or more higher route relations and have yet a different role there.
It is up to the data user to resolve this hierarchy according to purpose. A common procedure will probably be to take a relation, leave out all the non-main members, then if the members are relations get the main members of those, etcetera until only main ways are left. Then perform further processing (rendering, routing, elevation profile, total length calculation).
More than one main variant
The role 'alternative' denotes a secondary route. If there is more than one equally important main route, do not use roles on the ways but create separate route relations. If necessary they can be combined into a higher parent relation, without assigning roles to the main child routes. They will both default to main. Calculations, processes and exports based on role filtering will then produce non-optimal results for this top level route (or superroute) relation. Note that this is a common situation for long international routes consisting of country-based sections with equally important variant routes through one or more countries.
Parent route with child routes, roles main (none), alternative and connection: https://www.openstreetmap.org/relation/9769895#map=16/51.5292/4.3080 and on waymarkedtrails: https://hiking.waymarkedtrails.org/#route?id=9769895&map=16!51.5289!4.3101