12.6 Direct junctions
Direct junctions are intended to model entries and exits without adding additional connecting roads. This approach reduces the number of roads required to model entries and exits in comparison with the common junction modeling approach in Section 12.4, "Connecting roads".
Elements in UML model
For elements in the UML model see Figure 82.
<junction type="direct">
element
In ASAM OpenDRIVE, direct junctions are represented by <junction>
elements with the value direct
in the @type attribute within the <junction>
element.
UML class: t_junction_direct XML tag: <junction type="direct"> (Multiplicity: 0..*) Introduced: 1.7.0
Direct junctions are intended to model entries and exits where drivable lanes may overlap to split or merge, but traffic does not cross.
Name | Type | Use | Description |
---|---|---|---|
|
string |
required |
ID of the junction to which the road belongs, for example connecting roads, cross paths, and roads of a junction boundary. Use -1 for none. |
|
string |
optional |
Name of the junction. May be chosen freely. |
|
required |
Common junctions are of type "default". If the attribute is not specified, the junction type is "default". This attribute is mandatory for all other junction types. |
<connection>
element
In ASAM OpenDRIVE, connections in direct junctions are represented by <connection>
elements within the <junction>
element.
UML class: t_junction_connection_direct XML tag: <connection> (Multiplicity: 1..*)
Provides information about a single connection within a direct junction.
Name | Type | Use | Introduced | Description |
---|---|---|---|---|
|
optional |
Contact point on the @connectingRoad or @linkedRoad. Required for all junction types except virtual. |
||
|
string |
required |
Unique ID within the junction |
|
|
string |
optional |
ID of the incoming road. Required for all junction types except virtual. |
|
|
string |
required |
1.7.0 |
ID of the directly linked road. Only to be used for junctions of @type="direct". |
<laneLink>
element
In ASAM OpenDRIVE, lane links in direct junctions are represented by <laneLink>
elements within the <connection>
element.
UML class: t_junction_connection_laneLink XML tag: <laneLink> (Multiplicity: 0..*)
Provides information about the lanes that are linked between an incoming road and a connecting road.
It is strongly recommended to provide this element.
It is deprecated to omit the <laneLink>
element.
Name | Type | Use | Unit | Introduced | Description |
---|---|---|---|---|---|
|
integer |
required |
ID of the incoming lane |
||
|
optional |
m |
1.8.0 |
Specifies the length of the area where traffic from both overlapping lanes shares the space. It is defined in s length relative to the position of the junction. Intended for direct junctions only. Default is 100. |
|
|
integer |
required |
ID of the connection lane |
Rules
-
asam.net:xodr:1.8.0:junctions.direct.road_connectivity: Direct junctions shall connect one road on one side with multiple roads on the other side.
-
asam.net:xodr:1.8.0:junctions.direct.split_or_merge: Direct junctions shall only be used for splitting or merging roads without crossing traffic.
-
asam.net:xodr:1.7.0:junctions.direct.correct_type_linked_road_usage: The @linkedRoad attribute shall only be used for junctions with @type="direct".
-
asam.net:xodr:1.7.0:junctions.direct.connecting_road_attribute_usage: The @connectingRoad attribute shall not be used for junctions with @type="direct".
-
asam.net:xodr:1.7.0:junctions.direct.linked_lane_smoothness: The linked lanes shall fit smoothly as described for roads (see [top-86fc414c-6211-4777-b40e-466d4551d23e]).
-
asam.net:xodr:1.7.0:junctions.direct.road_ramp_heading: The junction shall be placed where the headings of road, ramp, or slip lane are identical.
-
asam.net:xodr:1.8.0:junctions.direct.overlap_zone_exclusivity: Only one pair of
<laneLink>
elements shall have @overlapZone attributes to define the overlapping lanes.
-
asam.net:xodr:1.8.0:junctions.direct.overlap_zone_coverage: The value of the @overlapZone attribute shall cover at least the overlapping area, but may be larger.
-
asam.net:xodr:1.8.0:junctions.direct.flat_exits_entries: Currently only flat entries and exits can be modeled by overlapping direct junctions.
Related topics
12.6.1 Simple direct junction

Figure 86 shows a road connected to two linked roads.
Road 1
is directly linked to roads 2
and 3
.
XML example
The XML example shows the model that is displayed in Figure 86.
<road name="" length="50" id="1" junction="-1">
<link>
<successor elementType="junction" elementId="111"/>
</link>
</road>
<road name="" length="50" id="2" junction="-1">
<link>
<predecessor elementType="junction" elementId="111" />
</link>
</road>
<road name="" length="50" id="3" junction="-1">
<link>
<predecessor elementType="junction" elementId="111" />
</link>
</road>
<junction name="" type="direct" id="111">
<connection id="0" incomingRoad="1" linkedRoad="3" contactPoint="start">
<laneLink from="-4" to="-1"/>
</connection>
<connection id="1" incomingRoad="1" linkedRoad="2" contactPoint="start">
<laneLink from="1" to="1"/>
<laneLink from="-1" to="-1"/>
<laneLink from="-2" to="-2"/>
<laneLink from="-3" to="-3"/>
</connection>
</junction>
12.6.2 Direct junction with overlapping lanes

Figure 87 shows one road connected to two following roads with overlapping lanes.
Traffic from lane -3
of road 1
may continue in lane -3
of road 2
or change to lane -1
of road 3
.
Traffic from lane -4
of road 1
changes to lane -2
of road 3
.
The @overlapZone attribute specifies at least the length of the area where the traffic of the two overlapping lanes shares the space.
XML example
The XML example shows the model that is displayed in Figure 87.
<road name="" length="50" id="1" junction="-1">
<link>
<successor elementType="junction" elementId="111"/>
</link>
</road>
<road name="" length="50" id="2" junction="-1">
<link>
<predecessor elementType="junction" elementId="111" />
</link>
</road>
<road name="" length="50" id="3" junction="-1">
<link>
<predecessor elementType="junction" elementId="111" />
</link>
</road>
<junction name="" type="direct" id="111">
<connection id="0" incomingRoad="1" linkedRoad="3" contactPoint="start">
<laneLink from="-3" to="-1" overlapZone="41"/>
<laneLink from="-4" to="-2"/>
</connection>
<connection id="1" incomingRoad="1" linkedRoad="2" contactPoint="start">
<laneLink from="1" to="1"/>
<laneLink from="-1" to="-1"/>
<laneLink from="-2" to="-2"/>
<laneLink from="-3" to="-3" overlapZone="40"/>
</connection>
</junction>
Determining which lanes overlap by reading the XML Entries (slip lanes): Exits: |
12.6.3 Unsolvable cases for direct junctions

Figure 88 shows one road connected to two following roads with multiple overlapping lanes.
Lane -1
of road 3
overlaps lanes -3
and -4
of road 2
.
Lane -2
of road 3
overlaps lane -4
of road 2
.
Direct junctions cannot be used if multiple lanes overlap.
In this case common junctions shall be used (see Section 12.2, "Common junctions").

Figure 89 shows one road connected to three following roads with overlapping lanes.
Lane -1
of road 2
overlaps lane -1
of road 3
.
Lane -1
of road 4
overlaps lane -3
of road 3
.
Direct junctions cannot be used if multiple lanes overlap.
In this case common junctions shall be used (see Section 12.2, "Common junctions").

Figure 90 shows two roads connected to two following roads with crossing traffic.
Traffic from lane -3
of road 1
to lane -1
of road 4
crosses traffic from lane -1
of road 3
to lane -3
of road 2
.
Direct junctions cannot be used if traffic crosses.
In addition to the crossing traffic this junction also has multiple overlapping lanes and more than one road on both sides.
In this case common junctions shall be used (see Section 12.2, "Common junctions").