@@ -346,6 +346,12 @@ message Lane
346346 //
347347 optional RoadCondition road_condition = 11 ;
348348
349+ // The subtype of the lane.
350+ //
351+ // This subtype specifies a lane more concretely.
352+ //
353+ optional Subtype subtype = 12 ;
354+
349355 // Definition of available lane types.
350356 //
351357 enum Type
@@ -377,6 +383,116 @@ message Lane
377383 TYPE_INTERSECTION = 4 ;
378384 }
379385
386+ // Definition of available lane subtypes, aligned with OpenDRIVE.
387+ //
388+ enum Subtype
389+ {
390+ // Lane of unknown subtype. Do not use in ground truth.
391+ //
392+ SUBTYPE_UNKNOWN = 0 ;
393+
394+ // Any other subtype of lane.
395+ //
396+ SUBTYPE_OTHER = 1 ;
397+
398+ // A normal driving lane.
399+ // Example: Lanes with IDs l1, l2, l3 and l4 in image \ref
400+ // HighwayExit.
401+ //
402+ // Since it is intended to be used for normal automotive
403+ // driving, it should be used in combination with TYPE_DRIVING.
404+ //
405+ SUBTYPE_NORMAL = 2 ;
406+
407+ // A lane that is designated for bicylists.
408+ //
409+ // Since it is not intended to be used for normal automotive
410+ // driving, it should be used in combination with TYPE_NONDRIVING.
411+ //
412+ SUBTYPE_BIKING = 3 ;
413+
414+ // A lane that is designated for pedestrians (sidewalk).
415+ //
416+ // Since it is not intended to be used for normal automotive
417+ // driving, it should be used in combination with TYPE_NONDRIVING.
418+ //
419+ SUBTYPE_SIDEWALK = 4 ;
420+
421+ // A lane with parking spaces.
422+ //
423+ // Since it is not intended to be used for normal automotive
424+ // driving, it should be used in combination with TYPE_NONDRIVING.
425+ //
426+ SUBTYPE_PARKING = 5 ;
427+
428+ // A hard shoulder on motorways for emergency stops.
429+ // Example: Lane l5 in image \ref
430+ // HighwayExit.
431+ //
432+ // Since it is not intended to be used for normal automotive
433+ // driving, it should be used in combination with TYPE_NONDRIVING.
434+ //
435+ SUBTYPE_STOP = 6 ;
436+
437+ // A lane on which cars should not drive.
438+ //
439+ // Since it is not intended to be used for normal automotive
440+ // driving, it should be used in combination with TYPE_NONDRIVING.
441+ //
442+ SUBTYPE_RESTRICTED = 7 ;
443+
444+ // A hard border on the edge of a road.
445+ //
446+ // Since it is not intended to be used for normal automotive
447+ // driving, it should be used in combination with TYPE_NONDRIVING.
448+ //
449+ SUBTYPE_BORDER = 8 ;
450+
451+ // A soft border on the edge of a road.
452+ //
453+ // Since it is not intended to be used for normal automotive
454+ // driving, it should be used in combination with TYPE_NONDRIVING.
455+ //
456+ SUBTYPE_SHOULDER = 9 ;
457+
458+ // A deceleration lane in parallel to the main road.
459+ // Example: Lane l6 in image \ref
460+ // HighwayExit.
461+ //
462+ // Since it is intended to be used for normal automotive
463+ // driving, it should be used in combination with TYPE_DRIVING.
464+ //
465+ SUBTYPE_EXIT = 10 ;
466+
467+ // An acceleration lane in parallel to the main road.
468+ //
469+ // Since it is intended to be used for normal automotive
470+ // driving, it should be used in combination with TYPE_DRIVING.
471+ //
472+ SUBTYPE_ENTRY = 11 ;
473+
474+ // A ramp from rural or urban roads joining a motorway.
475+ //
476+ // Since it is intended to be used for normal automotive
477+ // driving, it should be used in combination with TYPE_DRIVING.
478+ //
479+ SUBTYPE_ONRAMP = 12 ;
480+
481+ // A ramp leading off a motorway onto rural or urban roads.
482+ //
483+ // Since it is intended to be used for normal automotive
484+ // driving, it should be used in combination with TYPE_DRIVING.
485+ //
486+ SUBTYPE_OFFRAMP = 13 ;
487+
488+ // A ramp that connect two motorways.
489+ //
490+ // Since it is intended to be used for normal automotive
491+ // driving, it should be used in combination with TYPE_DRIVING.
492+ //
493+ SUBTYPE_CONNECTINGRAMP = 14 ;
494+ }
495+
380496 //
381497 // \brief The condition of the road surface.
382498 //
0 commit comments