13.8 Object markings

Object marking describes the line-based road markings of any objects like crosswalks and parking spaces.

Object-based road markings can be defined by:

  • using closed outlines with @fillType = "paint" to create filled-in areas

  • using outlines with a <markings> element to create lines without fill.

See Section 13.2, "Object outline" for more information on object outlines.

An object marking is defined either in accordance to the bounding volume of the element or by referencing outline points of the object. When referencing outline points, use the <markings> element inside one of the object’s <outline> elements. Otherwise, use the <markings> element inside <object> element.

The <markings> element serves as a wrapper for the <marking> element, which contains further information about the marking.

In addition to the road markings defined in this section, ASAM OpenDRIVE also supports the following use cases:

  • For the outer marking lines of a lane, use lane road markings. See Section 11.9, "Lane road markings".

  • Road markings that do not represent the line at the outer border of a lane but guide driver and traffic models are defined as signals. These may optionally be accompanied by objects, for example in the case of stop lines related to a traffic light. See Section 14.1, "Introduction to signals".

13.8.1 Elements in UML model

13.8.1.1. <markings> element

In ASAM OpenDRIVE, the markings of objects are represented by the <marking> object:

  • within the <object> element when using the object’s bounding volume

  • within the related <outline> element when referencing outline points

UML class: t_road_objects_object_markings
XML tag:   <markings> (Multiplicity: 0..1)

Object markings are road markings of any objects, for example, crosswalks and parking spaces.

13.8.1.2. <marking> element

In ASAM OpenDRIVE, a single marking is represented by the <marking> element within the <markings> element.

UML class: t_road_objects_object_markings_marking
XML tag:   <marking> (Multiplicity: 1..*)

Specifies a marking that is either attached to one side of the object bounding volume or referencing outline points.

Table 99. Attributes of the <marking> element
Name Type Use Unit Description

color

e_roadMarkColor

required

Color of the marking

lineLength

t_grZero

required

m

Length of the visible part

side

e_sideType

optional

Side of the bounding volume described in <object> element in the local coordinate system u/v. For example, used for objects with @type = parkingSpace.

spaceLength

t_grEqZero

required

m

Length of the gap between the visible parts

startOffset

double

required

m

Lateral offset in u-direction from start of bounding box side where the first marking starts

stopOffset

double

required

m

Lateral offset in u-direction from end of bounding box side where the marking ends

weight

e_roadMarkWeight

optional

Optical "weight" of the marking

width

t_grZero

optional

m

Width of the marking

zOffset

t_grEqZero

optional

m

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

13.8.1.3. <cornerReference> element

In ASAM OpenDRIVE, a corner reference is represented by the <cornerReference> element within the <marking> element.

UML class: t_road_objects_object_markings_marking_cornerReference
XML tag:   <cornerReference> (Multiplicity: 0..*)

Specifies a point by referencing an existing outline point.

Table 100. Attributes of the <cornerReference> element
Name Type Use Description

id

nonNegativeInteger

required

Identifier of the referenced outline point

13.8.2 Example using the bounding volume

The marking may be defined for a straight line on two sides of the object’s bounding volume. For this purpose, the @side attribute of the <marking> element is used.

XML example

<objects>
  <object type="parkingSpace" subtype="closed" id="0" s="10.0" t="-5.5" zOffset="0.0" orientation="none" length="5.0" width="2.5" height="4.0" hdg="1.57" pitch="0.0" roll="0.0">
    <parkingSpace access="all"/>
    <markings>
      <marking side="left" width="0.1" color="white" zOffset="0.005" spaceLength="0.0" lineLength="1.0" startOffset="0.0" stopOffset="0.0"/>
      <marking side="right" width="0.1" color="white" zOffset="0.005" spaceLength="0.0" lineLength="1.0" startOffset="0.0" stopOffset="0.0"/>
    </markings>
  </object>
  <!-- [...] -->
</objects>

13.8.3 Example referencing outline points

img
Figure 124. Crosswalk in ASAM OpenDRIVE

Figure 124 shows how a crosswalk with exemplary size is modeled.

The marking may be defined for a straight line from one outline point to another by referencing the ID of the respective outline points. For this purpose, the <cornerReference> element inside the <marking> element is used.

XML example

<objects>
    <object type="crosswalk"
            id="10"
            s="10.0"
            t="0.0"
            zOffset="0.0"
            orientation="none"
            length="10.0"
            width="7.0"
            hdg="0.0"
            pitch="0.0"
            roll="0.0">
        <outlines>
            <outline id="0">
                <cornerRoad s="5.0" t="3.5" dz="0.0" height="4.0" id="0"/>
                <cornerRoad s="8.0" t="-3.5" dz="0.0" height="4.0" id="1"/>
                <cornerRoad s="12.0" t="-3.5" dz="0.0" height="4.0" id="2"/>
                <cornerRoad s="15.0" t="3.5" dz="0.0" height="4.0" id="3"/>
                <markings>
                    <marking width="0.1"
                            color="white"
                            zOffset="0.005"
                            spaceLength ="0.05"
                            lineLength ="0.2"
                            startOffset="0.0"
                            stopOffset="0.0">
                        <cornerReference id="0"/>
                        <cornerReference id="1"/>
                    </marking>
                    <marking width="0.1"
                            color="white"
                            zOffset="0.005"
                            spaceLength ="0.05"
                            lineLength ="0.2"
                            startOffset="0.0"
                            stopOffset="0.0">
                        <cornerReference id="2"/>
                        <cornerReference id="3"/>
                    </marking>
                </markings>
            </outline>
        </outlines>
    </object>
</objects>

Rules

The following rules apply to object marking elements:

Related topics