Proposed features/Relation:tmc/TMC Links

From OpenStreetMap Wiki
Jump to navigation Jump to search
TMC Links
Proposal status: Draft (under way)
Proposed by: MHohmann
Tagging: type=tmc:link
Applies to: relation
Definition: TMC links

Rendered as: No particular rendering
Drafted on: 2014-02-05

This is the second stage of the TMC proposal. Goal of the overall proposal is to find a simple, useful, understandable and easily maintainable mapping scheme for TMC location codes. These codes allow a connection between TMC traffic guidance messages and OSM objects, so that OSM based navigation systems can calculate their routes under consideration of traffic messages. Goal of this second stage is to connect neighbouring TMC points using route-like link relations.


In the first stage of this proposal a tagging for TMC points has been proposed. Most of these points are part of the road network and mark either locations such as bridges, tunnels or service areas along a road, or intersections of several roads. In this second stage of the TMC proposal links between these TMC points will be established. These are routes which contain those OSM ways that a driver uses to get from one TMC point to the next.


The TMC point locations mapped in the first stage of this proposal already allow to determine which TMC points a driver passes by on his route, and to figure out which traffic messages are relevant for this route. However, they still come with a few restrictions:

  • Traffic problems reported between different TMC locations can be found only if the driver passes by all of these locations. If this is not the case, for example, because he enters / leaves the road at a point which is not assigned a TMC location code, traffic messages get lost.
  • For complicated routes the connecting ways between TMC locations to which a traffic message applies are difficult or ambiguous to determine, which may lead to routing errors.
  • TMC point relations which are bound only to OSM nodes can be broken as easily as they are created, and if the nodes are not placed correctly, traffic messages are not applied.

For this reason the connecting ways between neighbouring TMC points should be mapped with route-like TMC link relations. This mapping solves these problems:

  • Even for drivers that only drive on some part of a TMC link, and do not traverse it completely, a traffic message will be applied if there is a traffic problem on this way.
  • The connecting ways between TMC point locations can immediately be found by analysing the corresponding TMC link relation.
  • Mapping routes is significantly more robust with respect to errors than mapping only single nodes. The mapped routes can automatically be checked for continuity.

The reason why TMC links are only the second stage of this proposal, despite their clear benefits, is the higher effort which is required to map TMC links compared to TMC points. This effort is reduced if the TMC points have previously been mapped in OSM. They provide orientation guides for the end nodes of TMC link routes, and thus also allow an automated error checking of the created TMC link relations.


Every link between two neighbouring TMC points, which are located on the same road and linked via their positive and negative offsets, should be mapped using exactly one relation tagged as type=tmc:link. The members and tags of this relation should be as follows.

Relation members

Schematic of TMC link mapping

Relation members are those OSM ways which are between two neighbouring TMC point locations. They can be found following these rules:

  • The end points of the mapped route relation are two neighbouring TMC points.
  • Every member of the relation is a way which is traversed by a driver on a straight way from one TMC point to the other, i.e., without any turn lanes or other deviations.
  • Every member way which is traversed only by drivers driving in the positive direction (driving towards the positive offset) gets the role positive.
  • Every member way which is traversed only by drivers driving in the negative direction (driving towards the negative offset) gets the role negative.
  • Every member way which is traversed by drivers driving in either direction gets the role both. If all member ways are traversed in either direction, the role can also be left empty.

This is also shown in the picture for three examples - a non-segregated highway, a partially segregated highway and a fully segregated highway. The grey points are the nodes which have been mapped in the TMC points proposal, with N marking the negative offset and P the positive offset. All TMC link routes should start and end at these nodes. The ways which constitute the route should be included as members. Ways which are traversed only in the positive direction (red) should get the role positive. Ways which are traversed only in the negative direction (blue) should get the role negative. Ways which are traversed in either direction (purple) should get the role both. In the first example all ways are traversed in either direction, and roles may be left empty.

Required tags

The following tags should be present in any TMC link relation:

  • type=tmc:link - Marks this relation as a TMC link.
  • table=* - Country ID (cid) and table code (tabcd) of the TMC location code table in the form {cid}:{tabcd} (e.g., 58:1 for Germany).
  • version=* - Version of the TMC location code table according to which this point is mapped (e.g., 13.0 for the table issued in Germany 2014).
  • pos_lcd=* - Location code of TMC point towards the positive end of this link.
  • neg_lcd=* - Location code of TMC point towards the negative end of this link.
  • road_lcd=* - Location code of the road to which this TMC link belongs.


Affected tags

No other tags are affected by this proposal.


Please use the discussion page for comments on this stage of the proposal and the discussion page of the complete TMC proposal for comments on the overall TMC tagging concept.