osi3::LaneBoundary Struct Reference

A lane boundary defining the border of a lane. More...

Collaboration diagram for osi3::LaneBoundary:

Classes

struct  BoundaryPoint
 A single point of a lane boundary. More...
 
struct  Classification
 Classification of a lane boundary. More...
 

Public Attributes

optional Identifier id = 1
 The ID of the lane boundary. More...
 
repeated BoundaryPoint boundary_line = 2
 The list of individual points defining the location of the lane boundary (as a list of segments). More...
 
optional Classification classification = 3
 The classification of the lane boundary. More...
 
repeated ExternalReference source_reference = 4
 Optional external reference to the lane boundary source. More...
 
optional ColorDescription color_description = 5
 The visual color of the material of the lane boundary. More...
 

Detailed Description

A lane boundary defining the border of a lane.

The left and right lane boundary define the width of the lane. Additionally, free markings can be defined, e.g. at construction sites. Free markings across multiple lanes may be defined multiple times for all affected lanes.

OSI_LaneBoundary.svg
LaneBoundary
Note
In the example, the symbols l1, l2, ... and lb1, lb2, ... stand for the lane ids and lane boundary ids respectively, i.e. for integers (uint64). The symbols bp2_{i+1}, bp2_{i}, bp2_{i-1} stand for osi3::LaneBoundary::BoundaryPoint elements.

Member Data Documentation

optional Identifier osi3::LaneBoundary::id = 1

The ID of the lane boundary.

Rules
is_globally_unique

◆ boundary_line

repeated BoundaryPoint osi3::LaneBoundary::boundary_line = 2

The list of individual points defining the location of the lane boundary (as a list of segments).

Since a BoundaryPoint is part of a sequence, only the position attribute has to be set for each instance. All other values will be reused from the previous BoundaryPoint in the sequence or set to default values if there is none or it was never set.

OSI_LaneBoundary.svg

Example: The boundary_line of the LaneBoundary with id lb2 is given by (bp2_1, ..., bp2_{i-1}, bp2_{i}, bp2_{i+1}, ...).

Attention
The ordering of the points must be the same for all lane boundaries on one road (also for roads with two-way traffic) and also the center line(s). Example: If the points are deducted from a map format, the order of points is recommended to be in line with the road coordinate (e.g. s-coordinate in OpenDRIVE).
Note
For dashed lines, one BoundaryPoint has to be at the start and another at the end of each dashed line segment. The first BoundaryPoint defines the beginning of the first dashed lane marking. The last BoundaryPoint defines the end of the last dashed lane marking.
For Botts' dots lines, one BoundaryPoint position has to define each Botts' dot.
Attention
For BoundaryPoint the same rule for the approximation error applies as for Lane::Classification::centerline.
Rules
first_element width is_equal_to 0.13
first_element height is_equal_to 0.14
last_element width is_equal_to 0.13
last_element height is_equal_to 0.13

◆ classification

optional Classification osi3::LaneBoundary::classification = 3

The classification of the lane boundary.

◆ source_reference

repeated ExternalReference osi3::LaneBoundary::source_reference = 4

Optional external reference to the lane boundary source.

Note
For OpenDRIVE, there is no direct possibility to reference the RoadMark, as there is no unique identifier in this sub-object.
For non-ASAM Standards, it is implementation-specific how source_reference is resolved.
The value has to be repeated because one object may be derived from more than one origin source, for example, from a scenario file and from sensors.

◆ color_description

optional ColorDescription osi3::LaneBoundary::color_description = 5

The visual color of the material of the lane boundary.

Note
This does not represent the semantic classification but the visual appearance. For semantic classification of the lane boundary use the color field in Classification.

  • osi_lane.proto