Struct LaneBoundary

Struct Documentation

struct LaneBoundary

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.

../_images/OSI_LaneBoundary.svg

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.

Public Members

optional Identifier osi3::LaneBoundary::id = 1

The ID of the lane boundary.

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.

../_images/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}, …).

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 example, the area between the second and third BoundaryPoint has no lane marking, and so on.

Note

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.

optional Classification osi3::LaneBoundary::classification = 3

The classification of the lane boundary.

struct BoundaryPoint

A single point of a lane boundary.

../_images/OSI_LaneBoundary.svg

The lane boundary point bp2_{i} is one of the points of lane boundary lb2.

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.

Public Members

optional Vector3d osi3::LaneBoundary::BoundaryPoint::position = 1

The position of the BoundaryPoint.

optional double osi3::LaneBoundary::BoundaryPoint::width = 2

The overall width of the lane boundary at the position of the BoundaryPoint . Used for lines forming lane markings.

../_images/OSI_LaneBoundaryWidth.svg

Note

Field need not be set if it is defined previous. See LaneBoundary.

optional double osi3::LaneBoundary::BoundaryPoint::height = 3

The overall height of the lane boundary at the position of the BoundaryPoint . Used for guard rails, curbstone, or similar.

../_images/OSI_LaneBoundaryHeight.svg

Note

Field need not be set if it is previously defined. See LaneBoundary .

struct Classification

Classification of a lane boundary.

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 cl1, cl2, … represent the osi3::Lane::Classification::centerline elements of the lanes with the respective ids.

Public Types

enum Type

The lane boundary type. There is no special representation for double lines, e.g. solid / solid or dashed / solid. In such cases, each lane will define its own side of the lane boundary.

Values:

TYPE_UNKNOWN = 0

The type of lane boundary is unknown. Value must not be used in ground truth.

TYPE_OTHER = 1

Unspecified but known type of lane boundary. Consider proposing an additional type if using TYPE_OTHER.

TYPE_NO_LINE = 2

An invisible lane boundary (e.g. unmarked part of a dashed line).

TYPE_SOLID_LINE = 3

A solid line at the lane boundary.

TYPE_DASHED_LINE = 4

A dashed line at the lane boundary.

TYPE_BOTTS_DOTS = 5

A lane boundary consisting of Botts’ dots (multiple Botts dots).

TYPE_ROAD_EDGE = 6

A lane boundary formed by the road’s edge. The road edge is the end of the (paved) road surface.

TYPE_SNOW_EDGE = 7

A lane boundary formed by a snow edge that may be on the road surface.

TYPE_GRASS_EDGE = 8

A lane boundary covered by grass.

TYPE_GRAVEL_EDGE = 9

A lane boundary covered by gravel.

TYPE_SOIL_EDGE = 10

A lane boundary covered by soil.

TYPE_GUARD_RAIL = 11

A guard rail.

TYPE_CURB = 12

A curb.

TYPE_STRUCTURE = 13

A structure (e.g. building or tunnel wall).

enum Color

The color of the lane boundary in case of a lane markings. Lane markings that alternate in color must be represented by individual LaneBoundary segments.

Values:

COLOR_UNKNOWN = 0

Color of marking is unknown. Value must not be used in ground truth.

COLOR_OTHER = 1

Other (unspecified but known) color.

COLOR_NONE = 2

Marking without color. Used to represent logical boundaries without actual physical markings at the respective position. Value may be used in ground truth only.

COLOR_WHITE = 3

Marking with white color.

COLOR_YELLOW = 4

Marking with yellow / orange-yellow color.

COLOR_RED = 5

Marking with red color

COLOR_BLUE = 6

Marking with blue color.

COLOR_GREEN = 7

Marking with green color;

COLOR_VIOLET = 8

Marking with violet color.

Public Members

optional Type osi3::LaneBoundary::Classification::type = 1

The type of the lane boundary.

optional Color osi3::LaneBoundary::Classification::color = 2

The color of the lane boundary in case of lane markings.

repeated Identifier osi3::LaneBoundary::Classification::limiting_structure_id = 3

The ids of StationaryObject which limit the corresponding lane. This field must be set if the type is set to TYPE_STRUCTURE