1-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2-- ISO TS 19321
3--
4-- Published version location:
5-- https://standards.iso.org/iso/ts/19321/ed-2/en/ISO19321IVIv2.asn
6--
7-- Changes to original version:
8--  - add this header
9--  - rename imported module CITSdataDictionary1 -> CITSapplMgmtIDs
10-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11
12IVI {iso (1) standard (0) ivi (19321) version2 (2)}
13
14DEFINITIONS AUTOMATIC TAGS ::=
15BEGIN
16IMPORTS
17
18ActionID, Altitude, DangerousGoodsBasic , DeltaLatitude, DeltaLongitude, DeltaReferencePosition, Heading, HeadingValue, Latitude, LanePosition, Longitude, ReferencePosition, RoadType, SpecialTransportType, Speed, SpeedValue, StationType, TimestampIts, VehicleRole
19FROM ITS-Container {  itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
20
21AxleWeightLimits, DieselEmissionValues, ExhaustEmissionValues, EngineCharacteristics, EnvironmentalCharacteristics, PassengerCapacity , Provider, SoundLevel, VehicleDimensions,  VehicleWeightLimits
22FROM EfcDsrcApplication {iso(1) standard(0) 14906 application(0) version6(6)}
23
24EuVehicleCategoryCode, Iso3833VehicleType
25FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
26
27VarLengthNumber
28FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) dataDictionary (1) version1 (1)}
29
30RoadSegmentReferenceID, IntersectionReferenceID, LaneID
31FROM DSRC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}
32
33InternationalSign-applicablePeriod, InternationalSign-exemptedApplicablePeriod, InternationalSign-directionalFlowOfLane, InternationalSign-applicableVehicleDimensions, InternationalSign-speedLimits, InternationalSign-rateOfIncline, InternationalSign-distanceBetweenVehicles, InternationalSign-destinationInformation
34FROM GDD {iso (1) standard (0) gdd(14823) version1 (0)};
35
36-- Definition of IVI structure
37
38IviStructure::= SEQUENCE{
39	mandatory		IviManagementContainer,
40	optional		IviContainers OPTIONAL
41	}
42
43IviContainers ::= SEQUENCE (SIZE (1..8,...)) OF IviContainer
44
45--Definition of Containers
46
47IviContainer::= CHOICE {
48	glc		GeographicLocationContainer,
49	giv		GeneralIviContainer,
50	rcc		RoadConfigurationContainer,
51	tc		TextContainer,
52	lac		LayoutContainer,
53	...,	-- original extension indicator of V1
54[[ -- Extension in V2
55	avc		AutomatedVehicleContainer,
56	mlc		MapLocationContainer,
57	rsc		RoadSurfaceContainer ]]
58	}
59
60IviManagementContainer::= SEQUENCE {
61	serviceProviderId			Provider,
62	iviIdentificationNumber		IviIdentificationNumber,
63	timeStamp					TimestampIts OPTIONAL,
64	validFrom					TimestampIts OPTIONAL,
65	validTo						TimestampIts OPTIONAL,
66	connectedIviStructures		IviIdentificationNumbers OPTIONAL,
67	iviStatus					IviStatus,
68	...,    					-- original extension indicator of V1
69	connectedDenms				ConnectedDenms OPTIONAL -- Extension in V2
70	}
71
72GeographicLocationContainer::= SEQUENCE {
73	referencePosition			ReferencePosition,
74	referencePositionTime 		TimestampIts OPTIONAL,
75	referencePositionHeading	Heading OPTIONAL,
76	referencePositionSpeed		Speed OPTIONAL,
77	parts 						GlcParts,
78	...
79	}
80GlcParts ::= SEQUENCE (SIZE (1..16,...)) OF GlcPart
81
82GlcPart::= SEQUENCE {
83	zoneId						Zid,
84	laneNumber					LanePosition OPTIONAL,
85	zoneExtension				INTEGER (0..255) OPTIONAL,
86	zoneHeading					HeadingValue OPTIONAL,
87	zone						Zone OPTIONAL,
88	...
89	}
90
91GeneralIviContainer::= SEQUENCE (SIZE (1..16,...)) OF GicPart
92
93GicPart::= SEQUENCE {
94	detectionZoneIds		ZoneIds OPTIONAL,
95	its-Rrid				VarLengthNumber OPTIONAL,
96	relevanceZoneIds		ZoneIds OPTIONAL,
97	direction				Direction OPTIONAL,
98	driverAwarenessZoneIds	ZoneIds OPTIONAL,
99	minimumAwarenessTime	INTEGER (0..255) OPTIONAL,
100	applicableLanes			LanePositions OPTIONAL,
101	iviType					IviType,
102	iviPurpose				IviPurpose OPTIONAL,
103	laneStatus				LaneStatus OPTIONAL,
104	vehicleCharacteristics	VehicleCharacteristicsList OPTIONAL,
105	driverCharacteristics	DriverCharacteristics OPTIONAL,
106	layoutId				INTEGER(1..4,...) OPTIONAL,
107	preStoredlayoutId		INTEGER(1..64,...) OPTIONAL,
108	roadSignCodes			RoadSignCodes,
109	extraText				ConstraintTextLines1 OPTIONAL,
110	...
111	}
112
113RoadConfigurationContainer::= SEQUENCE (SIZE (1..16,...)) OF RccPart
114
115RccPart::= SEQUENCE{
116	relevanceZoneIds	ZoneIds,
117	roadType			RoadType,
118	laneConfiguration	LaneConfiguration,
119	...
120	}
121
122RoadSurfaceContainer::= SEQUENCE (SIZE (1..16,...)) OF RscPart
123
124RscPart::= SEQUENCE{
125	detectionZoneIds					ZoneIds OPTIONAL,
126	relevanceZoneIds					ZoneIds,
127	direction							Direction OPTIONAL,
128	roadSurfaceStaticCharacteristics	RoadSurfaceStaticCharacteristics OPTIONAL,
129	roadSurfaceDynamicCharacteristics	RoadSurfaceDynamicCharacteristics OPTIONAL
130	} (WITH COMPONENTS {..., roadSurfaceStaticCharacteristics PRESENT} |
131       WITH COMPONENTS {..., roadSurfaceDynamicCharacteristics PRESENT})
132
133TextContainer::= SEQUENCE (SIZE (1..16,...)) OF TcPart
134
135TcPart::= SEQUENCE {
136	detectionZoneIds		ZoneIds OPTIONAL,
137	relevanceZoneIds		ZoneIds,
138	direction				Direction OPTIONAL,
139	driverAwarenessZoneIds	ZoneIds OPTIONAL,
140	minimumAwarenessTime	INTEGER (0..255) OPTIONAL,
141	applicableLanes			LanePositions OPTIONAL,
142	layoutId				INTEGER(1..4,...) OPTIONAL,
143	preStoredlayoutId		INTEGER(1..64,...) OPTIONAL,
144	text					TextLines OPTIONAL,
145	data					OCTET STRING,
146	...,
147[[ --extension in V2
148	iviType					IviType,
149	laneStatus				LaneStatus OPTIONAL,
150	vehicleCharacteristics	VehicleCharacteristicsList OPTIONAL ]]
151	}
152
153LayoutContainer::=SEQUENCE{
154	layoutId			INTEGER(1..4,...),
155	height				INTEGER(10..73) OPTIONAL,
156	width				INTEGER(10..265) OPTIONAL,
157	layoutComponents	LayoutComponents,
158	...
159	}
160
161AutomatedVehicleContainer::= SEQUENCE (SIZE (1..16,...)) OF AvcPart -- new container in V2
162
163AvcPart::= SEQUENCE { -- new container part in V2
164	detectionZoneIds		ZoneIds OPTIONAL,
165	relevanceZoneIds		ZoneIds,
166	direction				Direction OPTIONAL,
167	applicableLanes			LanePositions OPTIONAL,
168	vehicleCharacteristics	VehicleCharacteristicsList OPTIONAL,
169	automatedVehicleRules	AutomatedVehicleRules OPTIONAL,
170	platooningRules			PlatooningRules OPTIONAL,
171	...
172	} (WITH COMPONENTS {..., automatedVehicleRules PRESENT} |
173       WITH COMPONENTS {..., platooningRules PRESENT})
174
175
176MapLocationContainer::=SEQUENCE{ -- new container in V2
177	reference		MapReference,
178	parts			MlcParts
179	}
180
181MlcParts::= SEQUENCE (SIZE (1..16,...)) OF MlcPart -- new container part in V2
182
183MlcPart::= SEQUENCE{ -- new container part in V2
184	zoneId		Zid,
185	laneIds		LaneIds OPTIONAL
186	}
187
188-- Definition of data frames which are lists of data frames
189-- note: those definitions are to avoid "implicit type definitions" but are bit compatible with V1
190
191AbsolutePositions ::= SEQUENCE (SIZE (1..8,...)) OF AbsolutePosition
192
193AbsolutePositionsWAltitude ::= SEQUENCE (SIZE (1..8,...)) OF AbsolutePositionWAltitude
194
195AutomatedVehicleRules::= SEQUENCE (SIZE (1..5)) OF AutomatedVehicleRule  -- new DF in V2
196
197ConnectedDenms::= SEQUENCE (SIZE(1..8, ...)) OF ActionID -- new DF in V2
198
199DeltaPositions ::= SEQUENCE (SIZE (1..32,...,100)) OF DeltaPosition --size extension in V2
200
201DeltaReferencePositions ::= SEQUENCE (SIZE (1..32,..., 100)) OF DeltaReferencePosition --size extension in V2
202
203ConstraintTextLines1 ::= SEQUENCE (SIZE (1..4),...) OF Text (WITH COMPONENTS {layoutComponentId, language, textContent (SIZE(1..32))})
204
205ConstraintTextLines2::= SEQUENCE (SIZE (1..4),...) OF Text (WITH COMPONENTS {..., textContent (SIZE(1..32))})
206
207IviIdentificationNumbers ::= SEQUENCE (SIZE(1..8)) OF IviIdentificationNumber
208
209ISO14823Attributes::= SEQUENCE (SIZE(1..8),...) OF ISO14823Attribute
210
211LaneConfiguration ::= SEQUENCE (SIZE (1..16,...)) OF LaneInformation
212
213LaneIds::= SEQUENCE (SIZE (1..16,...)) OF LaneID
214
215LanePositions ::= SEQUENCE (SIZE (1..8,...)) OF LanePosition
216
217LayoutComponents ::= SEQUENCE SIZE (1..4,...) OF LayoutComponent
218
219PlatooningRules::= SEQUENCE (SIZE (1..5)) OF PlatooningRule -- new DF in V2
220
221RoadSignCodes ::= SEQUENCE (SIZE (1..4),...) OF RSCode
222
223TextLines::= SEQUENCE (SIZE (1..4),...) OF Text
224
225TrailerCharacteristicsList ::= SEQUENCE (SIZE (1..3)) OF TrailerCharacteristics
226
227TrailerCharacteristicsFixValuesList ::= SEQUENCE (SIZE (1..4,...)) OF  VehicleCharacteristicsFixValues (WITH COMPONENTS {..., euroAndCo2value ABSENT, engineCharacteristics ABSENT})
228
229TrailerCharacteristicsRangesList ::= SEQUENCE (SIZE (1..4,...)) OF  VehicleCharacteristicsRanges (WITH COMPONENTS {comparisonOperator, limits (WITH COMPONENTS {..., exhaustEmissionValues ABSENT, dieselEmissionValues ABSENT, soundLevel ABSENT})})
230
231SaeAutomationLevels::= SEQUENCE (SIZE (1..5)) OF SaeAutomationLevel -- new DF in V2
232
233VehicleCharacteristicsFixValuesList ::= SEQUENCE (SIZE (1..4,...)) OF  VehicleCharacteristicsFixValues
234
235VehicleCharacteristicsList ::= SEQUENCE (SIZE (1..8, ...)) OF CompleteVehicleCharacteristics
236
237VehicleCharacteristicsRangesList ::= SEQUENCE (SIZE (1..4,...)) OF  VehicleCharacteristicsRanges
238
239ValidityPeriods ::= SEQUENCE (SIZE (1..8),...) OF InternationalSign-applicablePeriod
240
241ZoneIds ::= SEQUENCE (SIZE (1..8,...)) OF Zid
242
243--  Definition of Data Frames
244
245AbsolutePosition::= SEQUENCE{
246	latitude Latitude,
247	longitude Longitude
248	}
249
250AbsolutePositionWAltitude::= SEQUENCE{
251	latitude Latitude,
252	longitude Longitude,
253	altitude Altitude
254	}
255
256AnyCatalogue::=SEQUENCE{
257	owner			Provider,
258	version			INTEGER(0..255),
259	pictogramCode	INTEGER(0..65535),
260	value			INTEGER (0..65535) OPTIONAL,
261	unit			RSCUnit OPTIONAL,
262	attributes		ISO14823Attributes OPTIONAL
263	}
264
265AutomatedVehicleRule::= SEQUENCE { -- new DF in V2
266	priority								PriorityLevel,
267	allowedSaeAutomationLevels				SaeAutomationLevels,
268	minGapBetweenVehicles					GapBetweenVehicles OPTIONAL,
269	recGapBetweenVehicles					GapBetweenVehicles OPTIONAL,
270	automatedVehicleMaxSpeedLimit			SpeedValue OPTIONAL,
271	automatedVehicleMinSpeedLimit			SpeedValue OPTIONAL,
272	automatedVehicleSpeedRecommendation		SpeedValue OPTIONAL,
273	roadSignCodes							RoadSignCodes OPTIONAL,
274	extraText								ConstraintTextLines2 OPTIONAL,
275	...
276	}
277
278CompleteVehicleCharacteristics::= SEQUENCE{
279	tractor		TractorCharacteristics OPTIONAL,
280	trailer		TrailerCharacteristicsList OPTIONAL,
281	train		TrainCharacteristics OPTIONAL
282	}
283
284ComputedSegment::= SEQUENCE {
285	zoneId				Zid,
286	laneNumber			LanePosition,
287	laneWidth			IviLaneWidth,
288	offsetDistance 		INTEGER (-32768..32767) OPTIONAL,
289	offsetPosition 		DeltaReferencePosition 	OPTIONAL
290	}
291
292DeltaPosition::=SEQUENCE{
293	deltaLatitude 		DeltaLatitude,
294	deltaLongitude		DeltaLongitude
295	}
296
297ISO14823Attribute::= CHOICE{
298   dtm InternationalSign-applicablePeriod, -- Date/Time/Period
299   edt InternationalSign-exemptedApplicablePeriod,-- Exemption status of Date/Time/Period
300   dfl InternationalSign-directionalFlowOfLane,-- Directional Flow of Lane
301   ved InternationalSign-applicableVehicleDimensions,-- Vehicle Dimensions
302   spe InternationalSign-speedLimits,-- Speed
303   roi InternationalSign-rateOfIncline,-- Rate of Incline
304   dbv InternationalSign-distanceBetweenVehicles,-- Distance Between Vehicles
305   ddd InternationalSign-destinationInformation-- Destination/Direction/Distance
306   }
307
308ISO14823Code ::= SEQUENCE{
309	pictogramCode           SEQUENCE {
310		countryCode             OCTET STRING (SIZE (2)) OPTIONAL,
311        serviceCategoryCode     CHOICE {
312			trafficSignPictogram              ENUMERATED {dangerWarning, regulatory, informative,...},
313			publicFacilitiesPictogram         ENUMERATED {publicFacilities, ...},
314            ambientOrRoadConditionPictogram   ENUMERATED {ambientCondition, roadCondition,...},
315		 ...},
316         pictogramCategoryCode   SEQUENCE {
317                  nature            INTEGER (1..9),
318                  serialNumber      INTEGER (0..99)
319            }},
320      attributes        ISO14823Attributes OPTIONAL
321      }
322
323LaneInformation::= SEQUENCE{
324	laneNumber			LanePosition,
325	direction			Direction,
326	validity			InternationalSign-applicablePeriod OPTIONAL,
327	laneType			LaneType,
328	laneTypeQualifier	CompleteVehicleCharacteristics OPTIONAL,
329	laneStatus			LaneStatus,
330	laneWidth       	IviLaneWidth OPTIONAL,
331	...,
332[[ --extension in V2
333	detectionZoneIds					ZoneIds OPTIONAL,
334	relevanceZoneIds					ZoneIds OPTIONAL,
335	laneCharacteristics					LaneCharacteristics	 OPTIONAL,
336	laneSurfaceStaticCharacteristics	RoadSurfaceStaticCharacteristics OPTIONAL,
337	laneSurfaceDynamicCharacteristics	RoadSurfaceDynamicCharacteristics OPTIONAL ]]
338	}
339
340LaneCharacteristics::= SEQUENCE{
341	zoneDefinitionAccuracy		DefinitionAccuracy,
342	existinglaneMarkingStatus	LaneMarkingStatus,
343	newlaneMarkingColour		MarkingColour,
344	laneDelimitationLeft		LaneDelimitation,
345	laneDelimitationRight		LaneDelimitation,
346	mergingWith					Zid
347	}
348
349LayoutComponent::=SEQUENCE{
350	layoutComponentId	INTEGER(1..8,...),
351	height				INTEGER(10..73),
352	width				INTEGER(10..265),
353	x					INTEGER(10..265),
354	y					INTEGER(10..73),
355	textScripting		INTEGER {horizontal (0),  vertical (1)}(0..1)
356	}
357
358LoadType::= SEQUENCE{
359	goodsType				GoodsType,
360	dangerousGoodsType		DangerousGoodsBasic,
361	specialTransportType	SpecialTransportType
362	}
363
364MapReference::= CHOICE { -- new DF in V2
365	roadsegment			RoadSegmentReferenceID,
366	intersection 		IntersectionReferenceID
367	}
368
369PlatooningRule::= SEQUENCE {	-- new DF in V2
370	priority								PriorityLevel,
371	allowedSaeAutomationLevels				SaeAutomationLevels,
372	maxNoOfVehicles							MaxNoOfVehicles OPTIONAL,
373	maxLenghtOfPlatoon						MaxLenghtOfPlatoon OPTIONAL,
374	minGapBetweenVehicles					GapBetweenVehicles OPTIONAL,
375	platoonMaxSpeedLimit					SpeedValue OPTIONAL,
376	platoonMinSpeedLimit					SpeedValue OPTIONAL,
377	platoonSpeedRecommendation				SpeedValue OPTIONAL,
378	roadSignCodes							RoadSignCodes OPTIONAL,
379	extraText								ConstraintTextLines2 OPTIONAL,
380	...
381	}
382
383PolygonalLine::= CHOICE {
384	deltaPositions					DeltaPositions,
385	deltaPositionsWithAltitude		DeltaReferencePositions,
386	absolutePositions				AbsolutePositions,
387	absolutePositionsWithAltitude	AbsolutePositionsWAltitude,
388	...
389	}
390
391RoadSurfaceDynamicCharacteristics::= SEQUENCE{
392	condition				Condition,
393	temperature				Temperature,
394	iceOrWaterDepth			Depth,
395	treatment				TreatmentType
396	}
397
398RoadSurfaceStaticCharacteristics::= SEQUENCE{
399	frictionCoefficient		FrictionCoefficient,
400	material				MaterialType,
401	wear					WearLevel,
402	avBankingAngle			BankingAngle
403	}
404
405RSCode::= SEQUENCE{
406	layoutComponentId	INTEGER(1..4,...) OPTIONAL,
407	code				CHOICE {
408		viennaConvention	VcCode, -- see Vienna Convention Annex A
409		iso14823			ISO14823Code,
410		itisCodes			INTEGER (0..65535), -- see SAE J2540
411		anyCatalogue		AnyCatalogue,
412		...
413		}}
414
415Segment::= SEQUENCE {
416	line			PolygonalLine,
417	laneWidth		IviLaneWidth OPTIONAL
418	}
419
420Text::= SEQUENCE {
421	layoutComponentId	INTEGER(1..4,...) OPTIONAL,
422	language			BIT STRING (SIZE(10)),
423	textContent			UTF8String
424	}
425
426TractorCharacteristics::=SEQUENCE{
427	equalTo			VehicleCharacteristicsFixValuesList OPTIONAL,
428    notEqualTo		VehicleCharacteristicsFixValuesList OPTIONAL,
429	ranges      	VehicleCharacteristicsRangesList OPTIONAL
430	}
431
432TrailerCharacteristics::=SEQUENCE{
433    equalTo     TrailerCharacteristicsFixValuesList OPTIONAL,
434    notEqualTo  TrailerCharacteristicsFixValuesList OPTIONAL,
435    ranges      TrailerCharacteristicsRangesList  OPTIONAL
436    }
437
438TrainCharacteristics::= TractorCharacteristics
439
440VcCode::= SEQUENCE {
441	roadSignClass 	VcClass,  -- see Vienna Convention
442	roadSignCode	INTEGER (1..64),
443	vcOption		VcOption, -- e.g. the "a" in H, 3a
444	validity		ValidityPeriods OPTIONAL,
445	value			INTEGER (0..65535) OPTIONAL,
446	unit			RSCUnit OPTIONAL
447	}
448
449VehicleCharacteristicsFixValues::= CHOICE{
450	simpleVehicleType			StationType,
451	euVehicleCategoryCode	 	EuVehicleCategoryCode,
452	iso3833VehicleType	 		Iso3833VehicleType,
453	euroAndCo2value				EnvironmentalCharacteristics,
454	engineCharacteristics		EngineCharacteristics,
455	loadType					LoadType,
456	usage						VehicleRole,
457	...
458	}
459
460VehicleCharacteristicsRanges::= SEQUENCE{
461	comparisonOperator			ComparisonOperator,
462	limits					CHOICE{
463		numberOfAxles				INTEGER(0..7),
464		vehicleDimensions			VehicleDimensions,
465		vehicleWeightLimits			VehicleWeightLimits,
466		axleWeightLimits			AxleWeightLimits,
467		passengerCapacity 			PassengerCapacity,
468		exhaustEmissionValues		ExhaustEmissionValues,
469		dieselEmissionValues  		DieselEmissionValues,
470		soundLevel					SoundLevel,
471		...
472		}
473	}
474
475Zone::= CHOICE {
476	segment				Segment,
477	area				PolygonalLine,
478	computedSegment		ComputedSegment,
479	...
480	}
481
482-- Defition of IVI specific data elements
483
484BankingAngle::=INTEGER (-20..21)
485
486ComparisonOperator ::= INTEGER {
487	greaterThan				(0),
488	greaterThanOrEqualTo	(1),
489	lessThan				(2),
490	lessThanOrEqualTo		(3)
491	} (0..3)
492
493Condition::=INTEGER{
494	dry	 				(0),
495	moist				(1),
496	wet				 	(2),
497	standingWater		(3),
498	frost				(4),
499	ice					(5),
500	snow 				(6),
501	slush				(7),
502	unvailable			(8)
503-- values 9 to 15 reserved for future use
504} (0..15, ...)
505
506DefinitionAccuracy::= INTEGER{
507	oneCm 				(0),
508	twoCm				(1),
509	fiveCm				(2),
510	tenCm 				(3),
511	twentyCm			(4),
512	fiftyCm				(5),
513	oneMeter			(6),
514	unavailable			(7)
515} (0..7, ...)
516
517Depth::= INTEGER (0..255)
518
519Direction::= INTEGER{
520	sameDirection			(0),
521	oppositeDirection		(1),
522	bothDirections			(2),
523	valueNotUsed			(3)
524	} (0..3)
525
526DriverCharacteristics::= INTEGER{
527	unexperiencedDrivers		(0),
528	experiencedDrivers			(1),
529	rfu1						(2),
530	rfu2						(3)
531	} (0..3)
532
533FrictionCoefficient::= INTEGER (0..101)
534
535GapBetweenVehicles::= INTEGER (0..255) -- new DE in V2
536
537GoodsType::= INTEGER {
538	ammunition					(0),
539	chemicals					(1),
540	empty 						(2),
541	fuel						(3),
542	glass						(4),
543	dangerous					(5),
544	liquid						(6),
545	liveStock					(7),
546	dangerousForPeople			(8),
547	dangerousForTheEnvironment	(9),
548	dangerousForWater			(10),
549	perishableProducts			(11),
550	pharmaceutical				(12),
551	vehicles					(13)
552	-- other values  reserved for future use
553	} (0..15,...)
554
555IviIdentificationNumber::= INTEGER(1..32767,...)
556
557IviLaneWidth::= INTEGER (0..1023) -- only renamed from V1, no change
558
559IviPurpose::= INTEGER {
560	safety 					(0),
561	environmental 			(1),
562	trafficOptimisation 	(2)
563	} (0..3)
564
565IviStatus::= INTEGER {
566	new 			(0),
567	update			(1),
568	cancellation	(2),
569	negation 		(3)
570	-- other values  reserved for future use
571	}(0..7)
572
573IviType::= INTEGER {
574	immediateDangerWarningMessages 			(0),
575	regulatoryMessages 						(1),
576	trafficRelatedInformationMessages 		(2),
577	pollutionMessages 						(3),
578	notTrafficRelatedInformationMessages 	(4)
579	-- other values  reserved for future use
580	} (0..7)
581
582LaneDelimitation::=INTEGER {
583	noDelimitation 		(0),
584	lowLaneSeparator 	(1),
585	highLaneSeparator	(2),
586	wall 				(3),
587	curb				(4),
588	unpaved				(5),
589	guardrail			(6)
590	-- value 7 reserved for future use
591} (0..7, ...)
592
593LaneMarkingStatus::= BOOLEAN
594
595LaneStatus::= INTEGER {
596	open 				(0),
597	closed 				(1),
598	mergeR 				(2),
599	mergeL 				(3),
600	mergeLR 			(4),
601	provisionallyOpen 	(5),
602	diverging 			(6)
603	-- value 7 reserved for future use
604} (0..7, ...)
605
606LaneType::= INTEGER{
607	traffic 			(0),
608	through				(1),
609	reversible			(2),
610	acceleration		(3),
611	deceleration		(4),
612	leftHandTurning		(5),
613	rightHandTurning	(6),
614	dedicatedVehicle	(7),
615	bus					(8),
616	taxi				(9),
617	hov					(10),
618	hot					(11),
619	pedestrian			(12),
620	bikeLane			(13),
621	median              (14),
622	striping			(15),
623	trackedVehicle		(16),
624	parking				(17),
625	emergency			(18),
626	verge 				(19),
627	minimumRiskManoeuvre(20)
628-- values 21 to 31 reserved for future use
629	}(0..31)
630
631MarkingColour::=INTEGER {
632	white 				(0),
633	yellow			 	(1),
634	orange				(2),
635	red 				(3),
636	blue				(4),
637	unavailable			(7)
638	-- value 5,6 reserved for future use
639} (0..7, ...)
640
641MaterialType::=INTEGER {
642	asphalt 			(0),
643	concrete		 	(1),
644	cobblestone			(2),
645	gravel 				(3),
646	unavailable			(7)
647-- value 4, 5,6 reserved for future use
648} (0..7, ...)
649
650MaxLenghtOfPlatoon::= INTEGER (1..64) -- new DE in V2
651
652MaxNoOfVehicles::= INTEGER (2..64) -- new DE in V2
653
654PriorityLevel::=INTEGER (0..2) -- new DE in V2
655
656RSCUnit::= INTEGER {
657	kmperh				(0),
658	milesperh			(1),
659	kilometer			(2),
660	meter				(3),
661	decimeter			(4),
662	centimeter			(5),
663	mile				(6),
664	yard				(7),
665	foot				(8),
666	minutesOfTime		(9),
667	tonnes				(10), --1000 kg, not Ton!
668	hundredkg			(11),
669	pound				(12), --lbs
670	rateOfIncline		(13)
671	-- other value reserved for future use
672	} (0..15)
673
674SaeAutomationLevel::= INTEGER (0..5) -- new DE in V2
675
676Temperature::=INTEGER (-100..151)
677
678TreatmentType ::= INTEGER {
679	no				(0),
680	antiskid		(1),
681	anti-icing		(2),
682	de-icing		(3),
683	unavailable 	(7)
684-- value 4 to 6 reserved for future use
685	} (0..7)
686
687VcClass::= INTEGER {
688	classA 	(0),
689	classB	(1),
690	classC	(2),
691	classD	(3),
692	classE	(4),
693	classF	(5),
694	classG	(6),
695	classH	(7)
696	} (0..7)
697
698VcOption::= INTEGER {
699	none 	(0),
700	a 		(1),
701	b		(2),
702	c		(3),
703	d		(4),
704	e		(5),
705	f		(6),
706	g		(7)
707	} (0..7)
708
709WearLevel::=INTEGER {
710	new		 			(0),
711	good			 	(1),
712	bad					(2),
713	hasPotholes 		(3),
714	unavailable			(7)
715-- value 4, 5,6 reserved for future use
716} (0..7, ...)
717
718Zid::= INTEGER (1..32,...)
719
720END
721