TMC/TMC Import Germany/Points
Points in TMC-LocationCodes are single locations in space. They may have a name and meaning for themselves.
Points may have at most one predecessor-point and at most one successor-point, forming a double linked list.
why tag the Direction
Because a message states that either both or one direction is affected. Thus if there is a traffic-jam in one direction and this is not tagged properly, the other direction with no traffic jam at all would be marked as jammed and thus not routed through.
why tag Prev/Next-LocationCode
This chaining must be kept in the import as it is referenced in TMC-messages that specify locations using a Point, a direction (forward/reverse) and a number of steps.
The given location may be the LocationCode of a Point to traverse the linked list of Points, a Segment to traverse the linked list of Segments. Roads and Areas have no such linking.
For example a typical message reads like: "traffic jam with 20 km per hour from point 123 until 3 steps forward, only forward-direction is affected".
Without tagging these every user would need to go the authority of each county, sign their license, download their full LocationCodeTable and install it in his navigation program.
TMC-Points with names (seldom)
If a node has multiple location-codes
and/or directions due to being an intersection, you should can assign additional pairs of LocatinCode+Prev/Next by attaching it as a relation tagged type=TMC.
See the sections about motorway-crossings below for details.
Example: (the usual case)
TMC:cid_58:tabcd_1:LocationCode=1234 TMC:cid_58:tabcd_1:Direction=positive TMC:cid_58:tabcd_1:NextLocationCode=5431 TMC:cid_58:tabcd_1:LCLVersion=8 TMC:cid_58:tabcd_1:Class=Point
nodes on the way
These are easy to tag. If there is only one way in OSM, tag the appropriate point. (You may need to insert a point for this.)
If there are 2 oneway-ways forming a dual-carriage way, tag one appropriate node on each side and give them the appropriate Direction-tag. "positive" for the direction towards the point that has the NextLocatioCode, "negative" for the other side.
Tag the way, just like you would tag a node.
These ones are complicated. If you are uncomfortable with this, just leave it for someone else or ask lots for an example. (I may post an example soon.)
Tag the nodes of entry/exit that are directly on the way that corresponds to the TMC:Road this TMC:Point belongs to.
If the motorway_link already has the location-code of the corresponding TMC:Point on the other way (in intersections we have one TMC:Point with the same location for each of the TMC:Roads), add the tags as a relation tagged type=TMC. Remember to tag for Direction=forward and for Direction=reverse.
Example of such a special case:
Relation: type=TMC TMC:cid_58:tabcd_1:LocationCode=1234 TMC:cid_58:tabcd_1:Direction=positive TMC:cid_58:tabcd_1:NextLocationCode=5431 Members: Node 1234 in role "" Node 1234: highway=traffic_lights TMC:cid_58:tabcd_1:LocationCode=1235 TMC:cid_58:tabcd_1:Direction=negative TMC:cid_58:tabcd_1:NextLocationCode=9876