Skip to content

Commit 839c10c

Browse files
New Message TrafficSignValue
with value and unit for TrafficSigns and RoadMarkingSigns
1 parent 2457074 commit 839c10c

File tree

1 file changed

+129
-154
lines changed

1 file changed

+129
-154
lines changed

osi_landmark.proto

Lines changed: 129 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)