Skip to content

Commit 3d15399

Browse files
carsten-kueblerpmai
authored andcommitted
Restructured road markings
Reuse traffic signs as road markings. Arrows, stop lines, crosswalks, etc. are monochrome symbols of traffic signs.
1 parent 8822626 commit 3d15399

File tree

1 file changed

+104
-118
lines changed

1 file changed

+104
-118
lines changed

osi_landmark.proto

Lines changed: 104 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -228,138 +228,178 @@ message TrafficSign
228228
// Prescribed right turn and driving straight ahead (StVO 214.2).
229229
//
230230
TYPE_PRESCRIBED_RIGHT_TURN_AND_STRAIGHT = 42;
231-
232-
// Roundabout (StVO 215).
233-
//
234-
TYPE_ROUNDABOUT = 43;
235231

232+
// Prescribed left and right turn (StVO 214.3).
233+
//
234+
TYPE_PRESCRIBED_LEFT_TURN_AND_RIGHT_TURN = 43;
235+
236+
// Prescribed left turn, right turn and driving straight ahead (required for logical signs as road marking).
237+
//
238+
TYPE_PRESCRIBED_LEFT_TURN_RIGHT_TURN_AND_STRAIGHT = 44;
239+
236240
// One-way road to the left (StVO 220.1).
237241
//
238-
TYPE_ONEWAY_LEFT = 44;
239-
242+
TYPE_ONEWAY_LEFT = 45;
243+
240244
// One-way road to the right (StVO 220.2).
241245
//
242-
TYPE_ONEWAY_RIGHT = 45;
243-
246+
TYPE_ONEWAY_RIGHT = 46;
247+
248+
// No U turn left (StVO 272).
249+
//
250+
TYPE_NO_U_TURN_LEFT = 47;
251+
252+
// No U turn right ().
253+
//
254+
TYPE_NO_U_TURN_RIGHT = 48;
255+
256+
// Prescribed U turn left ().
257+
//
258+
TYPE_PRESCRIBED_U_TURN_LEFT = 49;
259+
260+
// Prescribed U turn right ().
261+
//
262+
TYPE_PRESCRIBED_U_TURN_RIGHT = 50;
263+
264+
// Left lane limitation or end of left lane (StVO 531.2x).
265+
//
266+
TYPE_ANNOUNCE_LEFT_LANE_END = 51;
267+
268+
// Right lane limitation or end of right lane (StVO 531.1x).
269+
//
270+
TYPE_ANNOUNCE_RIGHT_LANE_END = 52;
271+
244272
// Entry not allowed (StVO 267).
245273
//
246-
TYPE_DO_NOT_ENTER = 46;
274+
TYPE_DO_NOT_ENTER = 53;
275+
276+
// Roundabout (StVO 215).
277+
//
278+
TYPE_ROUNDABOUT = 54;
279+
280+
// Bus only lane begin.
281+
//
282+
TYPE_BUS_LANE_BEGIN = 55;
283+
284+
// Bus only lane end ().
285+
//
286+
TYPE_BUS_LANE_END = 56;
247287

248288
// Entry prohibited for all vehicle types (StVO 250).
249289
//
250-
TYPE_PROHIBITED_FOR_ALL = 47;
290+
TYPE_PROHIBITED_FOR_ALL = 57;
251291

252292
// Entry prohibited for all motor vehicles (StVO 251).
253293
//
254-
TYPE_PROHIBITED_FOR_MOTOR_VEHICLES = 48;
294+
TYPE_PROHIBITED_FOR_MOTOR_VEHICLES = 58;
255295

256296
// Entry prohibited for trucks (StVO 253).
257297
//
258-
TYPE_PROHIBITED_FOR_TRUCKS = 49;
298+
TYPE_PROHIBITED_FOR_TRUCKS = 59;
259299

260300
// Entry prohibited for bicycles (StVO 254).
261301
//
262-
TYPE_PROHIBITED_FOR_BICYCLES = 50;
302+
TYPE_PROHIBITED_FOR_BICYCLES = 60;
263303

264304
// Entry prohibited for motor bikes (StVO 255).
265305
//
266-
TYPE_PROHIBITED_FOR_MOTOR_BIKES = 51;
306+
TYPE_PROHIBITED_FOR_MOTOR_BIKES = 61;
267307

268308
// Entry prohibited for pedestrians (StVO 259).
269309
//
270-
TYPE_PROHIBITED_FOR_PEDESTRIANS = 52;
310+
TYPE_PROHIBITED_FOR_PEDESTRIANS = 62;
271311

272312
// Entry prohibited for all motor vehicles and bikes (StVO 260).
273313
//
274-
TYPE_PROHIBITED_FOR_MOTOR_VEHICLES_BIKES = 53;
314+
TYPE_PROHIBITED_FOR_MOTOR_VEHICLES_BIKES = 63;
275315

276316
// Begin of highway (StVO 330.1).
277317
//
278-
TYPE_HIGHWAY_BEGIN = 54;
318+
TYPE_HIGHWAY_BEGIN = 64;
279319

280320
// End of highway (StVO 330.2).
281321
//
282-
TYPE_HIGHWAY_END = 55;
322+
TYPE_HIGHWAY_END = 65;
283323

284324
// Highway exit sign (StVO 333).
285325
//
286-
TYPE_HIGHWAY_EXIT = 56;
326+
TYPE_HIGHWAY_EXIT = 66;
287327

288328
// Pole indicating highways exit in 100m (StVO 450).
289329
//
290-
TYPE_POLE_EXIT_100M = 57;
330+
TYPE_POLE_EXIT_100M = 67;
291331

292332
// Pole indicating highways exit in 200m (StVO 450).
293333
//
294-
TYPE_POLE_EXIT_200M = 58;
334+
TYPE_POLE_EXIT_200M = 68;
295335

296336
// Pole indicating highways exit in 300m (StVO 450).
297337
//
298-
TYPE_POLE_EXIT_300M = 59;
338+
TYPE_POLE_EXIT_300M = 69;
299339

300340
// Pole for warning and guiding purposes (red/white stripes - StVO 605).
301341
//
302-
TYPE_POLE_WARNING = 60;
342+
TYPE_POLE_WARNING = 70;
303343

304344
// Begin of expressway for motor vehicles (StVO 331.1).
305345
//
306-
TYPE_EXPRESSWAY_BEGIN = 61;
346+
TYPE_EXPRESSWAY_BEGIN = 71;
307347

308348
// End of expressways for motor vehicles (StVO 331.2).
309349
//
310-
TYPE_EXPRESSWAY_END = 62;
350+
TYPE_EXPRESSWAY_END = 72;
311351

312352
// Priority must be given to vehicles from the opposite direction (StVO 208).
313353
//
314-
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION = 63;
354+
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION = 73;
315355

316356
// Traffic has priority over vehicles from the opposite direction (StVO 308).
317357
//
318-
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION = 64;
358+
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION = 74;
319359

320360
// Priority must be given to vehicles from the opposite direction (StVO 208). Upside down.
321361
//
322-
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION_UPSIDE_DOWN = 65;
362+
TYPE_PRIORITY_TO_OPPOSITE_DIRECTION_UPSIDE_DOWN = 75;
323363

324364
// Traffic has priority over vehicles from the opposite direction (StVO 308). Upside down.
325365
//
326-
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION_UPSIDE_DOWN = 66;
366+
TYPE_PRIORITY_OVER_OPPOSITE_DIRECTION_UPSIDE_DOWN = 76;
327367

328368
// Minimum safety distance for trucks (StVO 273).
329369
//
330-
TYPE_MINIMUM_DISTANCE_FOR_TRUCKS = 67;
370+
TYPE_MINIMUM_DISTANCE_FOR_TRUCKS = 77;
331371

332372
// Traffic light ahead sign (StVO 131).
333373
//
334-
TYPE_ATTENTION_TRAFFIC_LIGHT = 68;
374+
TYPE_ATTENTION_TRAFFIC_LIGHT = 78;
335375

336376
// Pedestrian crossing (StVO 350).
337377
//
338-
TYPE_PEDESTRIAN_CROSSING_INFO = 69;
378+
TYPE_PEDESTRIAN_CROSSING_INFO = 79;
339379

340380
// Warning sign for a left turn (StVO 103.1).
341381
//
342-
TYPE_TURN_LEFT = 70;
382+
TYPE_TURN_LEFT = 80;
343383

344384
// Warning sign for a right turn (StVO 103.2).
345385
//
346-
TYPE_TURN_RIGHT = 71;
386+
TYPE_TURN_RIGHT = 81;
347387

348388
// Warning sign for a double turn (first left turn) (StVO 105.1).
349389
//
350-
TYPE_DOUBLE_TURN_LEFT = 72;
390+
TYPE_DOUBLE_TURN_LEFT = 82;
351391

352392
// Warning sign for a double turn (first right turn) (StVO 105.2).
353393
//
354-
TYPE_DOUBLE_TURN_RIGHT = 73;
394+
TYPE_DOUBLE_TURN_RIGHT = 83;
355395

356396
// Drive past on the left side (StVO 222.1).
357397
//
358-
TYPE_PASS_LEFT = 74;
398+
TYPE_PASS_LEFT = 84;
359399

360400
// Drive past on the right side (StVO 222.2).
361401
//
362-
TYPE_PASS_RIGHT = 75;
402+
TYPE_PASS_RIGHT = 85;
363403
}
364404

365405
// Definition of the variability of the traffic sign.
@@ -807,24 +847,26 @@ message RoadMarking
807847
//
808848
optional Type type = 3;
809849

810-
// Painted trffic sign as road marking.
850+
// Traffic sign as road marking (colour image, monochrome image or character string).
811851
//
812-
// \note if ( \c RoadMarking.type != \c RoadMarking.Type.TYPE_PAINTED_TRAFFIC_SIGN ) then
813-
// \c RoadMarking.painted_sign_type := \c TrafficSign.Type.TYPE_OTHER
814-
// \note if ( \c RoadMarking.type == \c RoadMarking.Type.TYPE_PAINTED_TRAFFIC_SIGN ) then
815-
// \c RoadMarking.color := \c RoadMarking.Color.COLOR_OTHER
816-
optional TrafficSign.Type painted_sign_type = 4;
817-
818-
// The color of the road marking.
852+
// \note Field is set if ( \c RoadMarking.type == \c RoadMarking.Type.TYPE_PAINTED_TRAFFIC_SIGN or
853+
// \c RoadMarking.Type.TYPE_SYMBOLIC_TRAFFIC_SIGN or \c RoadMarking.Type.TYPE_TEXTUAL_TRAFFIC_SIGN ).
819854
//
820-
optional Color color = 5;
855+
// \note Field need not be set (or set to \c TrafficSign.Type.TYPE_OTHER)
856+
// if road marking type (\c RoadMarking.type) does not require it.
857+
optional TrafficSign.Type traffic_sign_type = 4;
858+
859+
// The monochrome color of the road marking.
860+
// \note Field need not be set (or set to \c RoadMarking.Color.COLOR_OTHER)
861+
// if road marking type does not require it (e.g. for \c RoadMarking.type == \c RoadMarking.Type.TYPE_PAINTED_TRAFFIC_SIGN).
862+
optional Color monochrome_color = 5;
821863

822864
// Additional value associated with the road marking, e.g. value of the speed limit.
823-
// Field need not be set if road marking type does not require it.
865+
// \note Field need not be set if road marking type does not require it.
824866
optional double value = 6;
825867

826868
// Additional text value as road marking, e.g. BUS, TAXI etc.
827-
// Field need not be set if road marking type does not require it.
869+
// \note Field need not be set if road marking type does not require it.
828870
optional string value_text = 7;
829871

830872
// The id(s) of the lane(s) that the road marking is assigned to.
@@ -834,7 +876,7 @@ message RoadMarking
834876
// Intersection orientation of the road marking.
835877
//
836878
// \note Defined for \c Lane::type = TYPE_INTERSECTION, otherwise zero vector
837-
optional Vector3d roadmarking_orientation = 7;
879+
optional Vector3d roadmarking_orientation = 9;
838880

839881
// Definition of road marking types.
840882
//
@@ -848,85 +890,29 @@ message RoadMarking
848890
//
849891
TYPE_OTHER = 1;
850892

851-
// A solid stop line.
893+
// Paint on the road surface indicating a colour image of a traffic sign.
852894
//
853-
TYPE_STOP_LINE = 2;
854-
855-
// A dashed stop line.
856-
//
857-
TYPE_STOP_LINE_DASHED = 3;
858-
859-
// A stop line consisting of triangles.
860-
//
861-
TYPE_STOP_LINE_TRIANGLE = 4;
862-
863-
// A speed limit sign painted on the road surface.
864-
//
865-
TYPE_SPEED_LIMIT = 5;
866-
867-
// A straight arrow painted on the road surface indicating a lane to drive straight. (StVO 297).
868-
//
869-
TYPE_STRAIGHT_ARROW = 6;
895+
TYPE_PAINTED_TRAFFIC_SIGN = 2;
870896

871-
// A straight arrow painted on the road surface indicating a lane to turn right (StVO 297).
897+
// Paint on the road surface indicating a monochrome logical symbol of a traffic sign (e.g. digits 50 as start of speed limit 50 or stop line for stop sign).
872898
//
873-
TYPE_RIGHT_TURN_ARROW = 7;
899+
TYPE_SYMBOLIC_TRAFFIC_SIGN = 3;
874900

875-
// A straight arrow painted on the road surface indicating a lane to turn left (StVO 297).
901+
// Paint on the road surface as a character string (e.g. BUS as bus only lane).
876902
//
877-
TYPE_LEFT_TURN_ARROW = 8;
878-
879-
// An arrow painted on the road surface indicating a lane to drive straight and to turn left (StVO 297).
880-
//
881-
TYPE_STRAIGHT_LEFT_TURN_ARROW = 9;
882-
883-
// An arrow painted on the road surface indicating a lane to drive straight and to turn right (StVO 297).
884-
//
885-
TYPE_STRAIGHT_RIGHT_TURN_ARROW = 10;
886-
887-
// An arrow painted on the road surface indicating a lane to drive straight and to turn right or left (StVO 297).
888-
//
889-
TYPE_STRAIGHT_LEFT_TURN_RIGHT_TURN_ARROW = 11;
890-
891-
// An arrow painted on the road surface indicating a lane to turn right or left.
892-
//
893-
TYPE_LEFT_TURN_RIGHT_TURN_ARROW = 12;
894-
895-
// An arrow painted on the road surface indicating a turning point left.
896-
//
897-
TYPE_TURNPOINT_LEFT_ARROW = 13;
898-
899-
// An arrow painted on the road surface indicating a turning point right.
900-
//
901-
TYPE_TURNPOINT_RIGHT_ARROW = 14;
903+
TYPE_TEXTUAL_TRAFFIC_SIGN = 4;
902904

903-
// A right arrow painted on the road surface announcing a lane limitation or the end of a lane (StVO 297.1).
905+
// Paint on the road surface indicating a generic symbol.
904906
//
905-
TYPE_ANNOUNCE_RIGHT_ARROW = 15;
907+
TYPE_GENERIC_SYMBOL = 5;
906908

907-
// A left arrow painted on the road surface announcing a lane limitation or the end of a lane (StVO 297.1).
909+
// Paint on the road surface indicating a generic line.
908910
//
909-
TYPE_ANNOUNCE_LEFT_ARROW = 16;
911+
TYPE_GENERIC_LINE = 6;
910912

911-
// Road markings in text form, e.g. BUS, TAXI etc.
913+
// Paint on the road surface indicating a generic character string.
912914
//
913-
TYPE_TEXT = 17;
914-
915-
// Paint on the road surface indicating a zebra crossing.
916-
//
917-
TYPE_ZEBRA = 18;
918-
919-
// Paint on the road surface indicating an image of a traffic sign.
920-
//
921-
TYPE_PAINTED_TRAFFIC_SIGN = 19;
922-
923-
// Paint on the road surface indicating a generic symbol.
924-
//
925-
TYPE_GENERIC_SYMBOL = 20;
926-
927-
// Paint on the road surface indicating a generic line.
928-
//
929-
TYPE_GENERIC_LINE = 21;
915+
TYPE_GENERIC_TEXT = 7;
930916
}
931917

932918
// Definition of road marking colors

0 commit comments

Comments
 (0)