@@ -62,112 +62,6 @@ message TrafficSign
6262 VARIABILITY_VARIABLE = 3 ;
6363 }
6464
65-
66- // Unit for values on traffic sign
67- //
68- enum Unit
69- {
70- // Unit of the sign's value is unknown (must not be used in ground
71- // truth).
72- //
73- UNIT_UNKNOWN = 0 ;
74-
75- // Other (unspecified but known) unit of the sign's value.
76- //
77- UNIT_OTHER = 1 ;
78-
79- // Value without
80- // unit.
81- //
82- // Unit: []
83- //
84- UNIT_NO_UNIT = 2 ;
85-
86- // Velocity.
87- // Kilometers per hour.
88- //
89- // Unit: [km/h]
90- //
91- UNIT_KILOMETER_PER_HOUR = 3 ;
92-
93- // Velocity .
94- // Miles per hour.
95- //
96- // Unit: [mph]
97- //
98- UNIT_MILE_PER_HOUR = 4 ;
99-
100- // Length.
101- // Meter.
102- //
103- // Unit: [m]
104- //
105- UNIT_METER = 5 ;
106-
107- // Length.
108- // Kilometer.
109- //
110- // Unit: [km]
111- //
112- UNIT_KILOMETER = 6 ;
113-
114- // Length.
115- // Feet.
116- //
117- // Unit: [ft]
118- //
119- UNIT_FEET = 7 ;
120-
121- // Length.
122- // Mile.
123- //
124- // Unit: [mile]
125- //
126- UNIT_MILE = 8 ;
127-
128- // Weight.
129- // Ton.
130- //
131- // Unit: [t]
132- //
133- UNIT_METRIC_TON = 9 ;
134-
135- // Weight.
136- // Long ton UK 1,016.047 [kg].
137- //
138- // Unit: [tn. l.]
139- //
140- UNIT_LONG_TON = 10 ;
141-
142- // Weight.
143- // Short ton USA 907.1847 [kg].
144- //
145- // Unit: [tn. sh.]
146- //
147- UNIT_SHORT_TON = 11 ;
148-
149- // Time of day.
150- // Hour since midnight.
151- //
152- // Unit: [min]
153- //
154- UNIT_MINUTES = 12 ;
155-
156- // Day of the week.
157- // Days since Monday. Monday = 0; Tuesday = 1; ...
158- //
159- // Unit: []
160- //
161- UNIT_DAY = 13 ;
162-
163- // Percentage.
164- // .
165- //
166- // Unit: [%]
167- //
168- UNIT_PERCENTAGE = 14 ;
169- }
170-
17165 //
17266 // \brief Additional, supplementary sign modifying a parent traffic sign.
17367 //
@@ -195,13 +89,8 @@ message TrafficSign
19589 // speed limit.
19690 //
19791 // \note Field need not be set if traffic sign type does not require it.
198- // Unit of field \c #value is defined by field \c #value_unit.
199- //
200- optional double value = 3 ;
201-
202- // Unit for additional value.
20392 //
204- optional Unit value_unit = 4 ;
93+ optional TrafficSignValue value = 3 ;
20594
20695 // Some traffic signs have an additional arrow symbol as an additional
20796 // constraint for their scope (e.g. no parking to the right).
@@ -223,7 +112,7 @@ message TrafficSign
223112 // sign. Actual traffic signs lying on the ground might have been
224113 // intentionally unmounted and, hence, not be in effect.
225114 //
226- optional DirectionScope direction_scope = 5 ;
115+ optional DirectionScope direction_scope = 4 ;
227116
228117 // Definition of traffic sign types.
229118 // Numbers are given according to German StVO.
@@ -906,7 +795,6 @@ message TrafficSign
906795 }
907796 }
908797
909-
910798 //
911799 // \brief Additional, supplementary sign modifying a parent traffic sign.
912800 //
@@ -930,41 +818,12 @@ message TrafficSign
930818 //
931819 optional Type type = 1 ;
932820
933- // Optional first value defining additional properties , e.g. length, mass
821+ // Additional value(s) associated with the traffic sign , e.g. length, mass
934822 // or starting time in time range.
935823 //
936- optional double value_1 = 2 ;
937-
938- // Unit for first optional value.
939- //
940- optional Unit value_1_unit = 3 ;
941-
942- // Optional second value defining additional properties, e.g. end time in
943- // time range.
944- //
945- optional double value_2 = 4 ;
946-
947- // Unit for second optional value.
948- //
949- optional Unit value_2_unit = 5 ;
950-
951- // Optional third value defining additional properties, e.g. day of the
952- // week start.
953- //
954- optional double value_3 = 6 ;
955-
956- // Unit for third optional value.
957- //
958- optional Unit value_3_unit = 7 ;
959-
960- // Optional fourth value defining additional properties, e.g. day of the
961- // week end.
962- //
963- optional double value_4 = 8 ;
964-
965- // Unit for fourth optional value.
824+ // \note Field need not be set if traffic sign type does not require it.
966825 //
967- optional Unit value_4_unit = 9 ;
826+ repeated TrafficSignValue value = 2 ;
968827
969828 // Definition of supplementary sign types.
970829 // See \c TrafficSign::Type for further information.
@@ -1092,6 +951,127 @@ message TrafficSign
1092951 }
1093952}
1094953
954+ //
955+ // \brief Additional value associated with a traffic sign or road marking
956+ // and its unit.
957+ //
958+ message TrafficSignValue
959+ {
960+ // Additional value associated with a traffic sign or road marking,
961+ // e.g. value of a speed limit.
962+ //
963+ optional double value = 3 ;
964+
965+ // Unit for additional value.
966+ //
967+ optional Unit value_unit = 4 ;
968+
969+ // Unit for values on traffic sign
970+ //
971+ enum Unit
972+ {
973+ // Unit of the sign's value is unknown (must not be used in ground
974+ // truth).
975+ //
976+ UNIT_UNKNOWN = 0 ;
977+
978+ // Other (unspecified but known) unit of the sign's value.
979+ //
980+ UNIT_OTHER = 1 ;
981+
982+ // Value without
983+ // unit.
984+ //
985+ // Unit: []
986+ //
987+ UNIT_NO_UNIT = 2 ;
988+
989+ // Velocity.
990+ // Kilometers per hour.
991+ //
992+ // Unit: [km/h]
993+ //
994+ UNIT_KILOMETER_PER_HOUR = 3 ;
995+
996+ // Velocity .
997+ // Miles per hour.
998+ //
999+ // Unit: [mph]
1000+ //
1001+ UNIT_MILE_PER_HOUR = 4 ;
1002+
1003+ // Length.
1004+ // Meter.
1005+ //
1006+ // Unit: [m]
1007+ //
1008+ UNIT_METER = 5 ;
1009+
1010+ // Length.
1011+ // Kilometer.
1012+ //
1013+ // Unit: [km]
1014+ //
1015+ UNIT_KILOMETER = 6 ;
1016+
1017+ // Length.
1018+ // Feet.
1019+ //
1020+ // Unit: [ft]
1021+ //
1022+ UNIT_FEET = 7 ;
1023+
1024+ // Length.
1025+ // Mile.
1026+ //
1027+ // Unit: [mile]
1028+ //
1029+ UNIT_MILE = 8 ;
1030+
1031+ // Weight.
1032+ // Ton.
1033+ //
1034+ // Unit: [t]
1035+ //
1036+ UNIT_METRIC_TON = 9 ;
1037+
1038+ // Weight.
1039+ // Long ton UK 1,016.047 [kg].
1040+ //
1041+ // Unit: [tn. l.]
1042+ //
1043+ UNIT_LONG_TON = 10 ;
1044+
1045+ // Weight.
1046+ // Short ton USA 907.1847 [kg].
1047+ //
1048+ // Unit: [tn. sh.]
1049+ //
1050+ UNIT_SHORT_TON = 11 ;
1051+
1052+ // Time of day.
1053+ // Hour since midnight.
1054+ //
1055+ // Unit: [min]
1056+ //
1057+ UNIT_MINUTES = 12 ;
1058+
1059+ // Day of the week.
1060+ // Days since Monday. Monday = 0; Tuesday = 1; ...
1061+ //
1062+ // Unit: []
1063+ //
1064+ UNIT_DAY = 13 ;
1065+
1066+ // Percentage.
1067+ // .
1068+ //
1069+ // Unit: [%]
1070+ //
1071+ UNIT_PERCENTAGE = 14 ;
1072+ }
1073+ }
1074+
10951075//
10961076// \brief A traffic light.
10971077//
@@ -1390,17 +1370,12 @@ message RoadMarking
13901370 //
13911371 optional Color monochrome_color = 5 ;
13921372
1393- // Additional value associated with the road marking, e.g. value of the
1373+ // Additional value associated with the road marking, e.g. value of the
13941374 // speed limit.
13951375 //
1396- // \note This field needs not be set if the road marking's type does not
1397- // require it.
1398- //
1399- optional double value = 6 ;
1400-
1401- // Unit for optional value.
1376+ // \note Field need not be set if road marking type does not require it.
14021377 //
1403- optional TrafficSign.Unit value_unit = 7 ;
1378+ repeated TrafficSignValue value = 7 ;
14041379
14051380 // Additional text value as road marking, e.g. BUS, TAXI etc.
14061381 //
0 commit comments