|Proposal status:||Proposed (under way)|
|Proposed by:||Chris66 (initial draft), Supaplex030 (further development)|
|Tagging:||is_sidepath=*, is_sidepath:of=*, is_sidepath:of:name=*, is_sidepath:of:ref=* |
|Definition:||To indicate whether a way (in particular a cycle way or foot path) is attendant to/part of a road or runs independent without any relationship to a road.|
is_sidepath=* is proposed as an additional tag on ways (in particular cycle ways or foot paths) to indicate whether the way is related/attendant to a road (i.e. adjacent and parallel to a road) or whether it runs independently/isolated without any relationship to a road.
Roadside paths and ways can be mapped separately in OSM. Those separate geometries cannot be identified as part of the road, or only with the significant effort of using geometric processing. Most applications cannot afford such complex calculations.
However, the information whether a path is attendant to a road or not is important for many use cases and can offer various advantages:
- Depending on the map style, roadside paths can be shown differently (e.g. thicker, thinner or not at all, with or without a name etc).
- Due to the over-wide representation of generalised rendered roads, their sidepaths are sometimes hidden, which can be more easily prevented with a clear sidepath attribution.
- Routing directions can be significantly improved by adopting road attributes like the road name (e.g. "Follow the cycle path along XY Road"). Sidepaths are usually tagged without a name=* in OSM, which means that the name is lost for most applications otherwise. Deriving such road attributes geometrically is usually too complex and not possible reliably in many edge cases.
- Routing profiles can easily involve road classifications in the route calculation (e.g. avoid major roads, prefer minor roads).
Improved data analysis:
- Analyses e.g. for evaluating the quality of footway or cycle path networks require the ability to identify separately mapped roadside paths.
So far, there is no approved concept in OSM to record such sidepath situations. However, some applications already use this tagging to benefit from the mentioned advantages (see below). While there are alternative approaches to this issue in OSM, they are not practical for large-scale use for different reasons (see section on alternative concepts and it's limitations).
- yes: The way is related/attendant to a road, i.e. it runs adjacent and parallel to a road.
- no: The way is isolated/independent and has no relationship to a road.
On sidewalks mapped as footway=sidewalk, is_sidepath=yes is not necessary, as this is already implied for sidewalks. Nevertheless, using the extended tagging to adopt street attributes is still useful (see below).
An extended set of sub-tags can be used to provide access to relational street attributes, i.e. attributes that specify more precisely what (class of) street the way is located next to:
- is_sidepath:of=*: The road classification, e.g. primary or residential. This is the highway=* value the road line is tagged with.
- is_sidepath:of:name=*: The name=* of the road.
- is_sidepath:of:ref=*: The ref=* (reference number or code) of the road.
It's not recommended to adopt other road attributes, as these are either tagged at the separate way itself (e.g. surface=*, lit=*) or are less relevant for use cases (e.g. maxspeed=* on the road). Note, that adopting such attributes means duplicating information, which we are trying to avoid in OSM, as this can lead to data inconsistency. Since the adopted road attributes are indirect "pointers" and the three main attributes mentioned above can offer significant benefits for applications and barely change over time, this seems acceptable for them.
A road can have multiple sidepaths, with the sidepath attributes each pointing to the same road as the "main roadway" (see examples below).
Call for Discussion:
During the RFC process for this proposal, I would particularly like to get opinions from other mappers on the advantages and disadvantages of these additional attributes. Please leave your thoughts on the discussion page.
Typical examples for different types of ways and situations
All examples assume that the shown path is mapped separately.
|Cycle track along a main road near Morpeth, UK (OSM):|
|A meandering sidewalk along 12th Avenue in Hanford, California (OSM):|
|A sidewalk located directly at the edge of the road:|
|Cycleway along and adjacent to a street in Wroclaw, Poland (OSM):|
There is also a footway (but not a sidewalk in the strict sense), separated by trees, thats a sidepath of the same road (OSM):
|Footway delimited by a (functionally determined) wider green strip in Gratkorn, Austria (OSM):|
|An isolated cycle and foot path without any relationship to a road (OSM):|
Edge Cases: When it's a sidepath and when it's not?
It is not always clear, if a way should be categorized as a "sidepath" of a road or not. Ways that run parallel to a road can sometimes be directly adjacent to the road, sometimes run somewhat away from the road. Sometimes they are far apart from the road so that they can be interpreted as a independent path. In other cases, a way may run in the surroundings of a road, but has no direct relation to it (because there is something between the way and the road) or the way does not run parallel to the road, which also makes it difficult to distinguish.
- Path or path segment runs along and parallel to a road ("XY Road").
- The path is located close to the road, so that the road and it's traffic are clearly perceptible on the path.
- When using the path, you would say you are moving "along XY Road".
In case of doubt, consider to not use this tagging at all.
Two examples that might help to distinguish:
Illustrations: How to use sidepath tagging at intersections?
At intersections, sidepaths of different roads can join each other. In such situations it is not always clear to which road a sidepath belongs or wether a path is a sidepath or not. The following schematic illustrations show how the sidepath tagging can be used and which reference attributes a sidepath should adopt in different situations. The different colours indicate the relationship between the highway centerlines and "their" sidepaths.
To keep the examples simple, we do not specify the type of way (eg. sidewalk vs. path for bicycle and foot traffic). The examples above handle those cases and show when is_sidepath=yes is implicit for sidewalks.
|At simple intersections, the sidepaths and crossing ways can each be related to a street. Ways linking between different sidewalks (light gray path at the bottom and middle) usually are no sidepaths.|
|At large intersections sidepaths of several streets are merging sometimes. No clear relationship can be defined for the merged path segments. They are sidepaths (is_sidepath=yes), but can't get a is_sidepath:of:name=* reference. However, use the classification of the "highest" adjoining street as value for is_sidepath:of=*.|
|Ways along roundabouts adopt the attributes of the roundabout. The sidepaths along the joining roads adopt the attributes of the joining roads.|
|A way can change from a sidepath to a non-sidepath if it no longer continues along the road. If the name, class or reference of a adjacent road changes, the adopted attributes of the sidepath also change.|
|A way can change from a sidepath to a non-sidepath if the road ends but the way continues. Road links are no sidepaths.|
This tagging emerged in 2014 and was initially used by some individual mappers in Germany for some years. Since the beginning of 2021, this tagging has seen a strong increase in use after it was mentioned on some community channels and wiki pages and is now used by several users mainly in Europe so far.
- cycle.travel uses this tag to determine whether a cycleway is a roadside cycleway, and if so, to influence the turn-by-turn directions generated for a given route.
- The OSM Berlin Tagging Recommendation for mapping sidewalks and crossings is using this schema.
- The NUDAFA-Project (Website) used the tag to better process bike related infrastructure (Github) to create maps that are used for bike network planning.
Alternative concepts and it's limitations
- cycleway=sidepath is an alternative tagging method, also footway=sidepath and path=sidepath are suggested. However, there may be a conflict between footway=sidepath and footway=sidewalk, because sidewalk refers to a specific part of the road that (depending on the definition) might not apply to every sidepath. Moreover, cycleway=*, footway=* and path=* are already used by mappers to distinguish between different types of ways (e.g. footway=crossing/sidewalk/access_aisle/link..., cycleway=crossing/lane/track/link... path=crossing/desire/hiking/climbing_access/link...) of which some may also be sidepaths. It therefore seems necessary to use a distinct tag to classify sidepaths.
- Street relations are another proposed method that allows to identify paths attendant to a street. However, this requires more effort for data recording and maintenance. Editing relations is a major hurdle for many mappers and is only supported by a few editors. Experience shows that such relations are not maintained properly. In contrast, the use of a tagging schema is much simpler.
- The area:highway=* schema could be helpful with grouping ways that are part of the same "street corridor", but for physically separated ways where the area:highway=* areas have no shared edges, this approach is limited.
- Add the information and examples from this proposal on is_sidepath=* page.
- Add notes on Key:footway, Bicycle, Tag:highway=cycleway and other related pages.
- Add a reference on Tag:cycleway=sidepath (see above).
- Review of the is_sidepath concept from the perspective of A/B Street and osm2streets, OSM-based projects with complex requirements for the processing of road data and lane attributes.
Please comment on the discussion page.