Struct LaneBoundary¶
Defined in File osi_lane.proto
Nested Relationships¶
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.
- 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::BoundaryPointelements.
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
BoundaryPointis part of a sequence, only the position attribute has to be set for each instance. All other values will be reused from the previousBoundaryPointin the sequence or set to default values if there is none or it was never set.Example: The boundary_line of the
LaneBoundarywith id lb2 is given by (bp2_1, …, bp2_{i-1}, bp2_{i}, bp2_{i+1}, …).- Note
For dashed lines, one
BoundaryPointhas to be at the start and another at the end of each dashed line segment. The firstBoundaryPointdefines the beginning of the first dashed lane marking. The lastBoundaryPointdefines the end of the last dashed lane marking. For example, the area between the second and thirdBoundaryPointhas no lane marking, and so on.- Note
For Botts’ dots lines, one
BoundaryPointposition has to define each Botts’ dot.- Attention
For
BoundaryPointthe same rule for the approximation error applies as forLane::Classification::centerline.
-
optional Classification osi3::LaneBoundary::classification = 3 The classification of the lane boundary.
-
struct
BoundaryPoint¶ A single point of a lane boundary.
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::BoundaryPointelements.
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.- 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.- Note
Field need not be set if it is previously defined. See
LaneBoundary.
-
struct
Classification¶ Classificationof 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
LaneBoundarysegments.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
StationaryObjectwhich limit the corresponding lane. This field must be set if thetypeis set toTYPE_STRUCTURE