Proposed features/highway link

From OpenStreetMap Wiki
Jump to navigation Jump to search
highway link
Status: Proposed (under way)
Proposed by: Lectrician1
Tagging: *=link
Applies to: way ways
Definition: Map connections between highway elements

Rendered as: An almost-transparent version of the highway element it's key is
Drafted on: 2021-03-07
RFC start: 2021-03-09

This proposal will have some upcoming changes that will help address contradicting use cases that this proposal uses as examples as well as clear up any other issues that have been cited on the talk page.

The discussion about these changes can be found here in the OpenStreetMap World Discord server.


This was inspired from the original proposal for footway=link

Currently there exists no way to map an unreal, but traversable connection between a highway element that ends and another highway element.

This proposal proposes the the *=link value scheme that are placed on way highway=* tagged Ways to connect a minor highway element with a major one.

It proposes these tags as a result of this new scheme:

Because this is a new tagging scheme, future highway elements may use the *=link value for tags where necessary.

New proposal examples


Most of the examples use footway=link tag, but the usage can apply to any other *=link tag as well.

Where to use


            .             <- highway=footway
============.============ <- (lateral limit of carriageway)
            |             <- highway=footway + footway=link
------------------------- <- highway=* (e.g. highway=residential)

========================= <- (lateral limit of carriageway)

Real-world example:

Two ending footway=sidewalk ways connected to a highway=residential way using footway=link ways on the left and right.

See on OSM


Tactile-pavement/sloped curb

Where there is tactile pavement and/org a sloped curb and no outlet (similar to the Ways example), a footway=link way can be added.

This can be commonplace in parking lots.

A footway=link way drawn between a footway=sidewalk and service=parking_aisle where there is tactile pavement.

See on OSM

Access aisles

The physically-marked areas of footway=access_aisle typically do not extend all the way out to the service=parking_aisle way.

Therefore, a footway=link way can be mapped between the two to accurately connect them.

footway=link ways are used to connect the end of a footway=access_aisle and a service=parking_aisle way.

See on OSM


           ---            <- highway=steps
===========---=========== <- (lateral limit of carriageway)
            |             <- highway=footway + footway=link
------------------------- <- highway=* (e.g. highway=residential)

========================= <- (lateral limit of carriageway)

Real-world example:

Footway=link with highway=steps.png

See on OSM

Ending sidewalk

========================= <- (lateral limit of carriageway)

------------------------- <- highway=* (e.g. highway=residential)
              |           <- highway=footway + footway=link
==============|========== <- (lateral limit of carriageway)
...............           <- highway=footway + footway=sidewalk

Real-world example:

An ending way with footway=sidewalk with a way with footway=link to connect it to the way with highway=secondary
An ending footway=sidewalk way connected to a highway=secondary way using a footway=link way.

See on OSM

Where not to use

Incorrect and overusage

Incorrect and overusage of footway=link.png

Although there is no connection between the sidewalks and street, footway=link is incorrectly and overused here.

Pedestrians will not and should not use the routes created here. They should instead be directed along the appropriate usage path type and cross at crossings and appropriately-placed footway=link ways.

Other nearby routable features

When other routable features of similar usage are nearby, footway=link is not needed. This also applies to a possible connection at the green circle in the Broken sidewalk example.

What not to do What to do
Overusing footway=link randomly
service=driveway is used instead and mapped accurately. They can function as a routable connection between the footway=sidewalk and highway=residential.

See on OSM




General usage

The tag should be placed on a connecting way between a minor-highway way of the same tag and a major-highway way where there is no outlet.

Exact usage

How and where the way is mapped is ultimately up to the mapper.

They can do whatever they think will yield the most-effective possible routes, however the usage of this on ways for over-routing is highly discouraged.


If there is a way of the same minor-highway tag across the major-highway, then a *=crossing way and node should be used instead.

noexit=yes should never be used on the ends of the connecting because Key:noexit#When not to use states, "This tag should not be used when the way is only a dead-end for one transport mode, but where other modes can continue." Other modes can continue when this tag is used on a way.


Physical vs. pseudo indication

Ways that are tagged with the current highway tags indicate that there is real form of that indicated element present there. When a sidewalk ends and outputs to a street accessible and has no outlet on the other side (not a crossing), it would not make sense continue or place another sidewalk way between the end of the physical sidewalk and the street way. No sidewalk actually exists there.

Therefore, a tagged way is needed to indicate that the sidewalk is not physically there, but is possible to be traversed using the purpose of the original way (walking in the case of a sidewalk).

The value

  • I decided to go with a the value of link because connection was too long and fake, pseudo, unreal, and imaginary were too weird and not descriptive enough. The original proposal also used this as well.
  • The values of highway=* elements usually indicate the physical type or usage of a element of that type. For example, footway=sidewalk is a physical type and footway=crossing is a usage type. *=link follows this trend well because it acts as a pseudo-physical type but also indicates usage.
  • I decided to not create a new key like link=yes because people might get it confused with a website link. This indicator is also only specific to highway elements, so it makes sense to keep it as a value limited to that namespace instead of making a new tag that could be used on any element. I also dislike using yes as a value in-general.

Tagging implications

  • Routers that currently do not know about the existence of this tag do not need to worry because the way that has this tag also has the highway=* tag that indicates the same access and intended purpose.
  • Renderers might decide to hide highway elements with this value so that the realistic starting and ending points of a highway feature can remain consistent on the rendered map.

Current usage



osm-carto: An almost-transparent version of the highway element it's key is.

Consumer-oriented maps: Do not render.

Editors (iD, JOSM): They should be a different style to distinguish them.

Features/Pages affected

External discussions


Please comment on the discussion page.