13.3 Object outline
Objects may have an outline that is too complex to be described by parameters for angular and circular objects alone. Therefore, the outline of polygonal objects or non-rectangular objects may be described in a more detailed way.
An outline defines a series of corner points, including the height of the object relative to the road reference line. The inner area of the described outline may be filled with a filling type, for example, grass, concrete, asphalt, or pavement. The definition of the outline of objects is mainly used for traffic islands, irregularly shaped parking spaces, and special road markings.
Defining multiple outlines for one object is useful in several cases.
For example, a tree has a narrow trunk and a wide crown.
A driving simulation application might conclude that a vehicle cannot pass the tree if it only just recognized a bounding box representing the tree.
Two outlines could be defined, one for the narrow trunk and one for the wide crown of the tree.
A driving simulation application in this case could conclude that the vehicle can drive underneath the tree.
Another example is a street light that consist of a pole and a light.
Traffic islands often require more than one outline because the outlines represent logical information, for example, an area where pedestrians can stay.
See example UC_2Lane-RoundAbout-3Arms.xodr
in Section 13.3.2, “<cornerLocal>
element”.

Figure 114 shows a traffic island which is placed in the middle of a road as non-rectangular object.
In ASAM OpenDRIVE, the outline of objects is represented by the <outlines>
element within the <object>
element.
The <outlines>
element serves as a wrapper for the <outline>
element, which itself contains further elements to describe, for example, corner roads, bridges, and borders.
Elements in UML model
<outlines>
element
In ASAM OpenDRIVE, the outlines of objects are represented by the <outlines>
element within the <object>
element.
UML class: t_road_objects_object_outlines XML tag: <outlines> (Multiplicity: 0..1)
Wrapper for the different outline entries of an object, that can contain multiple outline definitions.
If <outlines>
is not used, an object can have only a single <outline>
entry.
<outline>
element
In ASAM OpenDRIVE, a single outline is represented by the <outline>
element within the <outlines>
element.
UML class: t_road_objects_object_outlines_outline XML tag: <outline> (Multiplicity: 1..*)
Defines a series of corner points, including the height of the object relative to the road reference line. For areas, the points should be listed in counter-clockwise order. The inner area of the described outline may be filled with a filling type, such as grass, concrete, asphalt, or pavement.
An element shall be followed by two or more <cornerRoad>
elements or by two or more <cornerLocal>
elements.
ASAM OpenDRIVE 1.4 outline definitions (without <outlines>
parent element) shall still be supported.
Name | Type | Use | Description |
---|---|---|---|
|
optional |
If true, the outline describes an area, not a linear feature |
|
|
optional |
Type used to fill the area inside the outline |
|
|
nonNegativeInteger |
optional |
ID of the outline. Must be unique within one object. |
|
optional |
Describes the lane type of the outline |
|
|
optional |
Defines if outline is an outer outline of the object |
XML example
Rules
The following rules apply to outline elements:
-
asam.net:xodr:1.7.0:road.object.outline.outline_followed_by_corner: An
<outline>
element shall be followed by two or more<cornerRoad>
elements or by two or more<cornerLocal>
elements.
-
The
<outline>
element may represent an area or a line feature. -
The inner area of the described outline may be filled with a filling type.
-
An outline may be specified as an objects outer or inner outline. It may be specified if the described outline is located at the outer border of the object.
-
It may be specified as which lane type the object is treated by the application.
-
asam.net:xodr:1.7.0:road.object.outline.points_inside_box: All points of the
<outline>
element must be located inside the bounding box.
Related topics
13.3.1. <cornerRoad>
element
<cornerRoad>
elements are mandatory elements inside an <outline>
element.
They are used to describe non-linear forms of objects.
They are mutually exclusive with <cornerLocal>
elements.
<cornerRoad>
elements describe the outline of objects relative to the road reference line with their s- and t-coordinates.
The shape of an object may be described by the object’s height at a <cornerRoad>
point and the difference in height relative to the road reference line.

Figure 115 shows a non-linear object with several corner points that is described by the s- and t-coordinates along the road reference line. The corner road helps to position objects along a road, for example concrete barriers.
Elements in UML model
<cornerRoad>
element
In ASAM OpenDRIVE, corner points of an object that use s- and t-coordinates are represented by the <cornerRoad>
element within the <outline>
element.
UML class: t_road_objects_object_outlines_outline_cornerRoad XML tag: <cornerRoad> (Multiplicity: 2..*)
Defines a corner point on the object’s outline in road coordinates.
Name | Type | Use | Unit | Description |
---|---|---|---|---|
|
double |
required |
m |
dz of the corner relative to road reference line |
|
required |
m |
Height of the object at this corner, along the z-axis |
|
|
nonNegativeInteger |
optional |
ID of the outline point. Must be unique within one outline |
|
|
required |
m |
s-coordinate of the corner |
|
|
double |
required |
m |
t-coordinate of the corner |
XML example
Rules
The following rules apply to <cornerRoad>
elements:
-
asam.net:xodr:1.7.0:road.corner_road.element_min_amount: There shall be at least two
<cornerRoad>
elements inside an<outline>
element.
-
asam.net:xodr:1.7.0:road.corner_road.corner_road_local_exclusivity: There shall be no
<cornerLocal>
element next to a<cornerRoad>
element inside the same<outline>
element.
Related topics
13.3.2. <cornerLocal>
element
<cornerLocal>
elements are mandatory elements inside an <outline>
element.
They are used to describe non-linear forms of objects.
They are mutually exclusive with <cornerRoad>
elements.
<cornerLocal>
elements describe the outline of objects within their local u- and v-coordinates.

<cornerLocal>
coordinatesFigure 116 shows a non-linear object with several corner points that is described within a local coordinate system. Corner local helps to position objects beyond a road, relative to a single point, for example buildings or traffic islands.
Elements in UML model
<cornerLocal>
element
In ASAM OpenDRIVE, corner points of an object that use local u- and v-coordinates are represented by the <cornerLocal>
element within the <outline>
element.
UML class: t_road_objects_object_outlines_outline_cornerLocal XML tag: <cornerLocal> (Multiplicity: 2..*)
Used to describe complex forms of objects. Defines a corner point on the object outline relative to the object pivot point in local u/v-coordinates. The insertion point and the orientation of the object are given by the @s, @t, @zOffset and @hdg attributes of the element.
Name | Type | Use | Unit | Description |
---|---|---|---|---|
|
required |
m |
Height of the object at this corner, along the z-axis |
|
|
nonNegativeInteger |
optional |
ID of the outline point. Shall be unique within one outline. |
|
|
double |
required |
m |
Local u-coordinate of the corner |
|
double |
required |
m |
Local v-coordinate of the corner |
|
double |
required |
m |
Local z-coordinate of the corner |
XML example
Rules
The following rules apply to <cornerLocal>
elements:
-
asam.net:xodr:1.7.0:road.corner_local.element_min_amount: There shall be at least two
<cornerLocal>
elements inside an<outline>
element.
-
There shall be no mixture of
<cornerRoad>
and<cornerLocal>
elements inside the same<outline>
element.
Related topics