11.8 Road markings

Lanes on roads can have different lane markings, for example lines of different colors and styles. ASAM OpenDRIVE provides the <roadMark> element for road markings. The road mark information defines the style of the line at the lane’s outer border. For left lanes, this is the left border, for right lanes the right one. The style of the center line that separates left and right lanes is determined by the road mark element for the center lane.

For each lane within a road cross section, multiple road mark elements may be defined. Several attributes may be used to describe the properties of the lane markings, for example @type, @weight, and @width.

There are two ways to specify the type of road marking:

  • The @type attribute within the <roadMark> element makes it possible to enter keywords that are stored in the application. They are used to describe simplified road marking types like solid, broken, or grass.

  • The <type> element contains further <line> elements making it possible to describe the road marking in a more detailed way.

Elements in UML model

<roadMark> element

In ASAM OpenDRIVE, road markings are represented by <roadMark> elements within <lane> elements.

UML class: t_road_lanes_laneSection_lcr_lane_roadMark
XML tag:   <roadMark> (Multiplicity: 0..*)

Defines the style of the line at the outer border of a lane. The style of the center line that separates left and right lanes is determined by the road mark element for the center lane.

Table 48. Attributes of the <roadMark> element
Name Type Use Unit Description

color

e_roadMarkColor

required

Color of the road mark

height

t_grZero

optional

m

Height of road mark above the road, i.e. thickness of the road mark

laneChange

e_road_lanes_laneSection_lcr_lane_roadMark_laneChange

optional

Allows a lane change in the indicated direction, taking into account that lanes are numbered in ascending order from right to left. If the attribute is missing, “both” is used as default.

material

string

optional

Material of the road mark. Identifiers to be defined by the user, use "standard" as default value.

sOffset

t_grEqZero

required

m

s-coordinate of start position of the <roadMark> element, relative to the position of the preceding <laneSection> element

type

e_roadMarkType

required

Type of the road mark

weight

e_roadMarkWeight

optional

Weight of the road mark. This attribute is optional if detailed definition is given below.

width

t_grEqZero

optional

m

Width of the road mark. This attribute is optional if detailed definition is given by <line> element.

img
Figure 81. UML class diagram of the RoadMark class

Figure 81 shows the UML class diagram of the ASAM OpenDRIVE RoadMark class.

Rules

The following rules apply to road markings:

  • <roadMark> elements shall only be used to describe the outer lane marking.

  • <roadMark> elements shall be defined in ascending order according to the s-coordinate.

  • The center line of the lane marking shall be positioned on the lane’s outer border line in such a way that the outer half of the lane marking is physically placed on the next lane.

  • The <roadMark> elements of a lane shall remain valid until another <roadMark> element starts or the lane section ends.

Related topics

11.8.1 Road marking types and lines

Detailed information about road marking types and lines may be defined in <type> elements within the <roadMark> element. Each <type> element definition contains one or more <line> element definitions with additional information about the lines of the road marking.

Road marking information in the <type> element is more specific than the information given in the @type attribute within the <roadMark> element.

The outline of the road marking is described by the attributes @length and @space:

  • @length represents the visible part of the line.

  • @space describes the non-visible part.

The position of the road marking in relation to the road reference line may be described by defining the lateral offset. A line definition is valid for a given length of the lane and is repeated automatically. The optional @rule attribute for lines defines the traffic rule for passing the lane from the inside.

Elements in UML model

<type> element

In ASAM OpenDRIVE, road marking types are represented by <type> elements within <roadMark> elements.

UML class: t_road_lanes_laneSection_lcr_lane_roadMark_type
XML tag:   <type> (Multiplicity: 0..1)

Each type definition shall contain one or more line definitions with additional information about the lines that the road mark is composed of.

Table 49. Attributes of the <type> element
Name Type Use Unit Description

name

string

required

Name of the road mark type. May be chosen freely.

width

t_grZero

required

m

Accumulated width of the road mark. In case of several <line> elements this @width is the sum of all @width of <line> elements and spaces in between, necessary to form the road mark. This attribute supersedes the definition in the <roadMark> element.

<line> element

In ASAM OpenDRIVE, road marking lines are represented by <line> elements within <type> elements.

UML class: t_road_lanes_laneSection_lcr_lane_roadMark_type_line
XML tag:   <line> (Multiplicity: 1..*)

A road mark may consist of one or more elements. Multiple elements are usually positioned side-by-side. A line definition is valid for a given length of the lane and will be repeated automatically.

Table 50. Attributes of the <line> element
Name Type Use Unit Description

color

e_roadMarkColor

optional

Line color. If given, this attribute supersedes the definition in the <roadMark> element.

length

t_grEqZero

required

m

Length of the visible part

rule

e_roadMarkRule

optional

Rule that must be observed when passing the line from inside, for example, from the lane with the lower absolute ID to the lane with the higher absolute ID

sOffset

t_grEqZero

required

m

Initial longitudinal offset of the line definition from the start of the road mark definition

space

t_grEqZero

required

m

Length of the gap between the visible parts

tOffset

double

required

m

Lateral offset from the lane border.
If <sway> element is present, the lateral offset follows the sway.

width

t_grZero

optional

m

Line width

Related topics

11.8.2 Explicit road marking types and lines

Elements in UML model

<explicit> element

In ASAM OpenDRIVE, irregular road marking types are represented by <explicit> elements within <roadMark> elements.

UML class: t_road_lanes_laneSection_lcr_lane_roadMark_explicit
XML tag:   <explicit> (Multiplicity: 0..1)

Irregular road markings that cannot be described by repetitive line patterns may be described by individual road marking elements. These explicit definitions also contain <line> elements for the line definition, however, these lines will not be repeated automatically as in repetitive road marking types. In ASAM OpenDRIVE, irregular road marking types and lines are represented by <explicit> elements within elements. The line definitions are contained in <line> elements within the <explicit> element.

The <explicit> element should specifically be used for measurement data.

<line> element

In ASAM OpenDRIVE, irregular road marking lines are represented by <line> elements within <explicit> elements.

UML class: t_road_lanes_laneSection_lcr_lane_roadMark_explicit_line
XML tag:   <line> (Multiplicity: 1..*)

Specifies a single line in an explicit road mark definition.

Table 51. Attributes of the <line> element
Name Type Use Unit Description

length

t_grZero

required

m

Length of the visible line

rule

e_roadMarkRule

optional

Rule that must be observed when passing the line from inside, that is, from the lane with the lower absolute ID to the lane with the higher absolute ID

sOffset

t_grEqZero

required

m

Offset of start position of the <line> element, relative to the @sOffset given in the <roadMark> element

tOffset

double

required

m

Lateral offset from the lane border.
If <sway> element is present, the lateral offset follows the sway.

width

t_grZero

optional

m

Line width. This attribute supersedes the definition in the <roadMark> element.

Related topics

11.8.3 Offset in road markings

To describe lane markings that are not straight but have sideway curves, <sway> elements may be used. A <sway> element relocates the lateral reference position for the following (explicit) type definition and thus defines an offset. The sway offset is relative to the nominal reference position of the lane marking, meaning the lane border.

Offsets from the lateral reference position are defined by <sway> elements within the <roadMark> element.

Elements in UML model

<sway> element

In ASAM OpenDRIVE, offsets are represented by <sway> elements within <roadMark> elements.

UML class: t_road_lanes_laneSection_lcr_lane_roadMark_sway
XML tag:   <sway> (Multiplicity: 0..*)

Relocates the lateral reference position for the following (explicit) type definition and thus defines an offset. The sway offset is relative to the nominal reference position of the lane marking, meaning the lane border.

Table 52. Attributes of the <sway> element
Name Type Use Unit Description

a

double

required

m

Polynom parameter a, sway value at @s (ds=0)

b

double

required

1

Polynom parameter b

c

double

required

1/m

Polynom parameter c

d

double

required

1/m²

Polynom parameter d

ds

t_grEqZero

required

m

s-coordinate of start position of the <sway> element, relative to the @sOffset given in the <roadMark> element

Calculation

For the definition of sways, the lateral reference position at a given point is calculated with the following polynomial function of the third order:

tOffset (ds) = a + b*ds + c*ds² + d*ds³

where

tOffset

is the lateral offset of the lateral reference position from the lane border at a given ds position

a, b, c, d

are the coefficients

ds

is the distance along the road reference line between the start of the element and the given position.

ds starts at zero for each element and is relative to the sOffset value given in the <roadMark> element.

Related topics