10.3 Road linkage
For applications to navigate through a road network, roads must be linked to each other. Roads may be connected to another road or a junction. Isolated roads are not connected to other roads or junctions.

Figure 38 shows cases of prohibited, allowed, and recommended road linkage. It is important that the lanes and road reference lines of the roads to be linked have a direct linkage to its predecessor or successor. Overlaps or leaps should be avoided but are not prohibited if the road reference lines are connected properly.

Figure 39 shows the allowed cases for road linkage outside junctions, with two roads running in the same, opposite, or converging directions. Road linkage is not possible, if the two road reference lines are not connected to each other.

Figure 40 shows the allowed case for road linkage within a junction.
A successor of a given road is an element connected to the end of its road reference line.
A predecessor of a given road is an element connected to the start of its road reference line.
For junctions, different attribute sets shall be used for the <predecessor>
and <successor>
elements.
Elements in UML model
<link>
element
In ASAM OpenDRIVE, road linkage is represented by the <link>
element within the <road>
element.
UML class: t_road_link XML tag: <link> (Multiplicity: 0..1)
Follows the road header if the road is linked to a successor or a predecessor. Isolated roads may omit this element.

Figure 41 shows the UML class diagram of the ASAM OpenDRIVE Link class.
<predecessor>
and <successor>
elements
In ASAM OpenDRIVE, predecessors and successors are represented by the <predecessor>
and <successor>
elements within the <link>
element.
UML class: t_road_link_predecessorSuccessor XML tag: <predecessor> (Multiplicity: 0..1) XML tag: <successor> (Multiplicity: 0..1)
Successors and predecessors can be junctions or roads. For each, different attribute sets shall be used.
Name | Type | Use | Unit | Description |
---|---|---|---|---|
|
optional |
Contact point of link on the linked element |
||
|
optional |
To be provided when elementS is used for the connection definition. Indicates the direction on the predecessor from which the road is entered. |
||
|
string |
required |
ID of the linked element |
|
|
optional |
m |
Alternative to contactPoint for virtual junctions. Indicates a connection within the predecessor, meaning not at the start or end of the predecessor. Shall only be used for elementType "road" |
|
|
required |
Type of the linked element |
Rules
The following rules apply to road linkage:
-
asam.net:xodr:1.4.0:road.linkage.is_junction_needed: Two roads shall only be linked directly if the linkage is clear. If the relationship to successor or predecessor is ambiguous, junctions shall be used.
-
A road may have another road or a junction as successor or predecessor. A road may also have no successor or predecessor.
-
A road may serve as its own predecessor or successor.
-
asam.net:xodr:1.4.0:road.linkage.road_link_attribute_usage: For a road as successor or predecessor the @elementType, @elementId and @contactPoint attributes shall be used.
-
asam.net:xodr:1.7.0:road.linkage.junc_link_attribute_usage: For a common junction and a direct junction as successor or predecessor the @elementType and @elementId attributes shall be used.
-
asam.net:xodr:1.7.0:road.linkage.virtjunc_link_attribute_usage: For a virtual junction as successor or predecessor the @elementType, @elementId, @elementS and @elementDir attributes shall be used.
-
<predecessor>
and/or<successor>
shall be defined at both sides of the road linkage and shall be consistent.
Related topics