Skip to content

Commit 3ad5c67

Browse files
authored
Merge pull request #482 from MarcelOliver/extension/traffic-sign-classification
Extension for Traffic Sign classification for better harmonisation with OpenDRIVE
2 parents c500a7f + 3f95b59 commit 3ad5c67

File tree

2 files changed

+235
-5
lines changed

2 files changed

+235
-5
lines changed

osi_roadmarking.proto

Lines changed: 91 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@ message RoadMarking
100100
// \note Field need not be set (or set to \c #TYPE_OTHER)
101101
// if road marking type (\c #type) does not require it.
102102
//
103+
// \attention Deprecated: A revision is planned for version 4.0.0 to
104+
// replace the type enum with a more semantically defined enumeration,
105+
// with the exact sign specification being relegated to the newly
106+
// introduced 4-tupel traffic sign catalog specification as used in
107+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
108+
//
103109
// \rules
104110
// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
105111
// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
@@ -146,15 +152,98 @@ message RoadMarking
146152
//
147153
repeated Identifier assigned_lane_id = 6;
148154

149-
150155
// Boolean flag to indicate that the road marking is taken out of service.
151156
// This can be achieved by visibly crossing the road marking with stripes,
152-
// or completly covering a road marking making it not visible.
157+
// or completely covering a road marking making it not visible.
153158
//
154159
// \image html OSI_RoadMaking_is_out_of_service.jpg width=800px
155160
//
156161
optional bool is_out_of_service = 7;
157162

163+
// Country specification of the traffic sign catalog specification
164+
// that identifies the actual traffic sign. This is part of the
165+
// 4-tupel traffic sign catalog specification as used in
166+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
167+
//
168+
// Country is specified using the ISO 3166-1, alpha-2 code
169+
// https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2, or the
170+
// special OpenDRIVE country for generic signs.<br>
171+
//
172+
// \rules
173+
// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
174+
// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
175+
// \endrules
176+
//
177+
optional string country = 8;
178+
179+
// Revision specification of the traffic sign catalog specification
180+
// that identifies the actual traffic sign. This is part of the
181+
// 4-tupel traffic sign catalog specification as used in
182+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
183+
//
184+
// The year the traffic rules came into force. <br>
185+
// e.g. "2017"
186+
//
187+
// \note Field is set if ( \c #type == \c #TYPE_PAINTED_TRAFFIC_SIGN or
188+
// \c #TYPE_SYMBOLIC_TRAFFIC_SIGN or \c #TYPE_TEXTUAL_TRAFFIC_SIGN ).
189+
//
190+
// \note Field need not be set (or set to \c #TYPE_OTHER)
191+
// if road marking type (\c #type) does not require it.
192+
//
193+
// \rules
194+
// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
195+
// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
196+
// \endrules
197+
//
198+
optional string country_revision = 9;
199+
200+
// Code specification of the traffic sign catalog specification
201+
// that identifies the actual traffic sign. This is part of the
202+
// 4-tupel traffic sign catalog specification as used in
203+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
204+
//
205+
// Code identifier according to country and country revision,
206+
// corresponds to the type field of OpenDRIVE. <br>
207+
// code is only unique in combination with #country and #country_revision. <br>
208+
// e.g. http://www.vzkat.de/2017/VzKat.htm
209+
//
210+
// \note Field is set if ( \c #type == \c #TYPE_PAINTED_TRAFFIC_SIGN or
211+
// \c #TYPE_SYMBOLIC_TRAFFIC_SIGN or \c #TYPE_TEXTUAL_TRAFFIC_SIGN ).
212+
//
213+
// \note Field need not be set (or set to \c #TYPE_OTHER)
214+
// if road marking type (\c #type) does not require it.
215+
//
216+
// \rules
217+
// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
218+
// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
219+
// \endrules
220+
//
221+
optional string code = 10;
222+
223+
// Sub-code specification of the traffic sign catalog specification
224+
// that identifies the actual traffic sign. This is part of the
225+
// 4-tupel traffic sign catalog specification as used in
226+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
227+
//
228+
// Sub-code identifier according to country, country revision and code,
229+
// corresponds to the subtype field of OpenDRIVE. <br>
230+
// sub_code is only unique in combination with #country, #country_revision,
231+
// and #code. <br>
232+
// e.g. http://www.vzkat.de/2017/VzKat.htm
233+
//
234+
// \note Field is set if ( \c #type == \c #TYPE_PAINTED_TRAFFIC_SIGN or
235+
// \c #TYPE_SYMBOLIC_TRAFFIC_SIGN or \c #TYPE_TEXTUAL_TRAFFIC_SIGN ).
236+
//
237+
// \note Field need not be set (or set to \c #TYPE_OTHER)
238+
// if road marking type (\c #type) does not require it.
239+
//
240+
// \rules
241+
// check_if this.type is_greater_than_or_equal_to 2 else do_check is_set
242+
// check_if this.type is_less_than_or_equal_to 4 else do_check is_set
243+
// \endrules
244+
//
245+
optional string sub_code = 11;
246+
158247
// Definition of road marking types.
159248
//
160249
enum Type

osi_trafficsign.proto

Lines changed: 144 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,12 @@ message TrafficSign
251251

252252
// The type of the traffic sign.
253253
//
254+
// \attention Deprecated: A revision is planned for version 4.0.0 to
255+
// replace the type enum with a more semantically defined enumeration,
256+
// with the exact sign specification being relegated to the newly
257+
// introduced 4-tupel traffic sign catalog specification as used in
258+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
259+
//
254260
optional Type type = 2;
255261

256262
// Additional value associated with the traffic sign, e.g. value of
@@ -282,6 +288,12 @@ message TrafficSign
282288
// might have been intentionally unmounted and, hence, not be in
283289
// effect.
284290
//
291+
// \attention Deprecated: A revision is planned for version 4.0.0 to
292+
// replace the type enum with a more semantically defined enumeration,
293+
// with the exact sign specification being relegated to the newly
294+
// introduced 4-tupel traffic sign catalog specification as used in
295+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
296+
//
285297
optional DirectionScope direction_scope = 4;
286298

287299
// The IDs of the lanes that the sign is assigned to.
@@ -306,12 +318,64 @@ message TrafficSign
306318
// As for every boolean in the protocol buffers language, the
307319
// default value of \c #vertically_mirrored is \c false.
308320
//
321+
// \attention Deprecated: A revision is planned for version 4.0.0 to
322+
// replace the type enum with a more semantically defined enumeration,
323+
// with the exact sign specification being relegated to the newly
324+
// introduced 4-tupel traffic sign catalog specification as used in
325+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
326+
//
309327
optional bool vertically_mirrored = 6;
310328

311329
// Boolean flag to indicate that a traffic sign is taken out of service.
312-
// This can be achieved by visibly crossing the sign or covering it completely.
330+
// This can be achieved by visibly crossing the sign or covering it completely.
313331
//
314-
optional bool is_out_of_service = 7;
332+
optional bool is_out_of_service = 7;
333+
334+
// Country specification of the traffic sign catalog specification
335+
// that identifies the actual traffic sign. This is part of the
336+
// 4-tupel traffic sign catalog specification as used in
337+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
338+
//
339+
// Country is specified using the ISO 3166-1, alpha-2 code
340+
// https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2, or the
341+
// special OpenDRIVE country for generic signs.<br>
342+
//
343+
optional string country = 8;
344+
345+
// Revision specification of the traffic sign catalog specification
346+
// that identifies the actual traffic sign. This is part of the
347+
// 4-tupel traffic sign catalog specification as used in
348+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
349+
//
350+
// The year the traffic rules came into force. <br>
351+
// e.g. "2017"
352+
//
353+
optional string country_revision = 9;
354+
355+
// Code specification of the traffic sign catalog specification
356+
// that identifies the actual traffic sign. This is part of the
357+
// 4-tupel traffic sign catalog specification as used in
358+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
359+
//
360+
// Code identifier according to country and country revision,
361+
// corresponds to the type field of OpenDRIVE. <br>
362+
// code is only unique in combination with #country and #country_revision. <br>
363+
// e.g. http://www.vzkat.de/2017/VzKat.htm
364+
//
365+
optional string code = 10;
366+
367+
// Sub-code specification of the traffic sign catalog specification
368+
// that identifies the actual traffic sign. This is part of the
369+
// 4-tupel traffic sign catalog specification as used in
370+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
371+
//
372+
// Sub-code identifier according to country, country revision and code,
373+
// corresponds to the subtype field of OpenDRIVE. <br>
374+
// sub_code is only unique in combination with #country, #country_revision,
375+
// and #code. <br>
376+
// e.g. http://www.vzkat.de/2017/VzKat.htm
377+
//
378+
optional string sub_code = 11;
315379

316380
// Definition of traffic sign types.
317381
// Numbers are given according to German StVO.
@@ -332,6 +396,12 @@ message TrafficSign
332396
// https://www.gesetze-im-internet.de/stvo_2013/anlage_4.html
333397
// (Verkehrseinrichtungen) \arg https://traffic-rules.com/
334398
//
399+
// \attention Deprecated: A revision is planned for version 4.0.0 to
400+
// replace the type enum with a more semantically defined enumeration,
401+
// with the exact sign specification being relegated to the newly
402+
// introduced 4-tupel traffic sign catalog specification as used in
403+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
404+
//
335405
enum Type
336406
{
337407
// Type of traffic sign is unknown (must not be used in ground
@@ -5524,6 +5594,12 @@ message TrafficSign
55245594

55255595
// Type of the supplementary sign.
55265596
//
5597+
// \attention Deprecated: A revision is planned for version 4.0.0 to
5598+
// replace the type enum with a more semantically defined enumeration,
5599+
// with the exact sign specification being relegated to the newly
5600+
// introduced 4-tupel traffic sign catalog specification as used in
5601+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
5602+
//
55275603
optional Type type = 2;
55285604

55295605
// Additional value(s) associated with the traffic sign, e.g.
@@ -5553,17 +5629,75 @@ message TrafficSign
55535629
// bikes, cars, trucks and so on), that the supplementary sign
55545630
// makes reference to.
55555631
//
5632+
// \attention Deprecated: A revision is planned for version 4.0.0 to
5633+
// replace the type enum with a more semantically defined enumeration,
5634+
// with the exact sign specification being relegated to the newly
5635+
// introduced 4-tupel traffic sign catalog specification as used in
5636+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
5637+
//
55565638
repeated Actor actor = 5;
55575639

55585640
// A direction arrow shown on the supplementary sign.
55595641
//
5642+
// \attention Deprecated: A revision is planned for version 4.0.0 to
5643+
// replace the type enum with a more semantically defined enumeration,
5644+
// with the exact sign specification being relegated to the newly
5645+
// introduced 4-tupel traffic sign catalog specification as used in
5646+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
5647+
//
55605648
repeated Arrow arrow = 6;
55615649

55625650
// Boolean flag to indicate that the supplementary traffic sign is taken out of service.
5563-
// This can be achieved by visibly crossing the sign or covering it completely.
5651+
// This can be achieved by visibly crossing the sign or covering it completely.
55645652
//
55655653
optional bool is_out_of_service = 7;
55665654

5655+
// Country specification of the traffic sign catalog specification
5656+
// that identifies the actual traffic sign. This is part of the
5657+
// 4-tupel traffic sign catalog specification as used in
5658+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
5659+
//
5660+
// Country is specified using the ISO 3166-1, alpha-2 code
5661+
// https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2, or the
5662+
// special OpenDRIVE country for generic signs.<br>
5663+
//
5664+
optional string country = 8;
5665+
5666+
// Revision specification of the traffic sign catalog specification
5667+
// that identifies the actual traffic sign. This is part of the
5668+
// 4-tupel traffic sign catalog specification as used in
5669+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
5670+
//
5671+
// The year the traffic rules came into force. <br>
5672+
// e.g. "2017"
5673+
//
5674+
optional string country_revision = 9;
5675+
5676+
// Code specification of the traffic sign catalog specification
5677+
// that identifies the actual traffic sign. This is part of the
5678+
// 4-tupel traffic sign catalog specification as used in
5679+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
5680+
//
5681+
// Code identifier according to country and country revision,
5682+
// corresponds to the type field of OpenDRIVE. <br>
5683+
// code is only unique in combination with #country and #country_revision. <br>
5684+
// e.g. http://www.vzkat.de/2017/VzKat.htm
5685+
//
5686+
optional string code = 10;
5687+
5688+
// Sub-code specification of the traffic sign catalog specification
5689+
// that identifies the actual traffic sign. This is part of the
5690+
// 4-tupel traffic sign catalog specification as used in
5691+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
5692+
//
5693+
// Sub-code identifier according to country, country revision and code,
5694+
// corresponds to the subtype field of OpenDRIVE. <br>
5695+
// sub_code is only unique in combination with #country, #country_revision,
5696+
// and #code. <br>
5697+
// e.g. http://www.vzkat.de/2017/VzKat.htm
5698+
//
5699+
optional string sub_code = 11;
5700+
55675701
// Definition of supplementary sign types.
55685702
//
55695703
// For general supplementary signs use \c #TYPE_TEXT.
@@ -5577,6 +5711,13 @@ message TrafficSign
55775711
// text, \c Type is used in descending order in the following
55785712
// sequence: \c #TYPE_EXCEPT, \c #TYPE_CONSTRAINED_TO, \c
55795713
// #TYPE_ARROW, \c #TYPE_TIME, \c #TYPE_SPACE, \c #TYPE_TEXT.
5714+
//
5715+
// \attention Deprecated: A revision is planned for version 4.0.0 to
5716+
// replace the type enum with a more semantically defined enumeration,
5717+
// with the exact sign specification being relegated to the newly
5718+
// introduced 4-tupel traffic sign catalog specification as used in
5719+
// <a href="https://releases.asam.net/OpenDRIVE/1.6.0/ASAM_OpenDRIVE_BS_V1-6-0.html#_signals">OpenDRIVE</a>.
5720+
//
55805721
enum Type
55815722
{
55825723
// Type of supplementary sign is unknown (must not be used in

0 commit comments

Comments
 (0)