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.

Table 66. Attributes of the <junction type="direct"> element
Name Type Use Description

id

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.

name

string

optional

Name of the junction. May be chosen freely.

type

e_junction_type

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.

Table 67. Attributes of the <connection> element
Name Type Use Introduced Description

contactPoint

e_contactPoint

optional

Contact point on the @connectingRoad or @linkedRoad. Required for all junction types except virtual.

id

string

required

Unique ID within the junction

incomingRoad

string

optional

ID of the incoming road. Required for all junction types except virtual.

linkedRoad

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.

Table 68. Attributes of the <laneLink> element
Name Type Use Unit Introduced Description

from

integer

required

ID of the incoming lane

overlapZone

t_grZero

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.

to

integer

required

ID of the connection lane

Rules

  • Direct junctions shall connect one road on one side with multiple roads on the other side.

  • Direct junctions shall only be used for splitting or merging roads without crossing traffic.

  • The @linkedRoad attribute shall only be used for junctions with @type="direct".

  • The @connectingRoad attribute shall not be used for junctions with @type="direct".

  • The linked lanes shall fit smoothly as described for roads (see Section 10.3, "Road linkage").

  • The junction shall be placed where the headings of road, ramp, or slip lane are identical.

  • Only one pair of <laneLink> elements shall have @overlapZone attributes to define the overlapping lanes.

  • The value of the @overlapZone attribute shall cover at least the overlapping area, but may be larger.

  • Currently only flat entries and exits can be modeled by overlapping direct junctions.

Related topics

12.6.1 Simple direct junction

img
Figure 86. 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

img
Figure 87. 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):
Find <laneLink> elements with identical values of the @to attribute. The lanes of the two incoming roads overlap.

Exits:
Find <laneLink> elements with identical values of the @from attribute. The lanes of the two linked roads overlap.

12.6.3 Unsolvable cases for direct junctions

img
Figure 88. Junction with multiple overlapping lanes on two roads

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").

img
Figure 89. Junction with multiple overlapping lanes on multiple roads

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").

img
Figure 90. Junction with crossing traffic and multiple overlapping lanes on multiple roads

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").