Loading docs/CPM-CommonDataTypes-Descriptions.md +72 −92 Original line number Diff line number Diff line Loading @@ -10,6 +10,10 @@ Include ISO 19091 Include references from https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn * **[VAM-PDU-Descriptions](VAM-PDU-Descriptions.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) vam(1) version1(1)}*<br/> Include ETSI TS 103 300-3 V2.1.1 Include references from https://forge.etsi.org/rep/ITS/asn1/vam-ts103300_3/tree/v2.1.1/ ## Data Elements: ### <a name="AreaCircular"></a>Area Circular Loading Loading @@ -542,8 +546,7 @@ ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence ### <a name="ObjectClassWithConfidence"></a>Object Class with Confidence Describes the classification of a detected object. The object can be classified into one of four categories: vehicle, person, animal and other. The classification is provided with a Describes the classification of a detected object. The classification is provided with a confidence indication. Loading @@ -559,24 +562,66 @@ ObjectClassWithConfidence ::= SEQUENCE { ### <a name="ObjectClass"></a>Object Class The class that best describes the detected object. Each class provides optional subclasses. The class that best describes the detected object. The object can be classified into one of three categories: vehicle, VRU and other. Each class provides optional subclasses. Fields: * vehicleSubclass [**VehicleSubclassType**](#VehicleSubclassType) <br> * personSubclass [**PersonSubclassType**](#PersonSubclassType) <br> * animalSubclass [**AnimalSubclassType**](#AnimalSubclassType) <br> * vruSubclass [**VruSubclassType**](#VruSubclassType) <br> * otherSubclass [**OtherSubclassType**](#OtherSubclassType) <br> ```asn1 ObjectClass ::= CHOICE { vehicleSubclass VehicleSubclassType, personSubclass PersonSubclassType, animalSubclass AnimalSubclassType, vruSubclass VruSubclassType, otherSubclass OtherSubclassType, ... } ``` ### <a name="VruSubclassType"></a>VRU Subclass Type Describes if a detected object is a single VRU or a group of VRUs. Fields: * singleVru [**VruProfileAndSubprofile**](VAM-PDU-Descriptions.md#VruProfileAndSubprofile) <br> * vruGroupSubclass [**VruGroupSubClassType**](#VruGroupSubClassType) <br> ```asn1 VruSubclassType ::= CHOICE { singleVru VruProfileAndSubprofile, vruGroupSubclass VruGroupSubClassType } ``` ### <a name="VruGroupSubClassType"></a>VruGroup Subclass Type Describes the composition of a group of VRUs. Fields: * groupType [**ClusterProfiles**](VAM-PDU-Descriptions.md#ClusterProfiles) <br> Indicates the profiles of the VRUs detected in the group. A group of VRUs may be composed of VRUs of several different profiles. * groupSize [**ClusterCardinalitySize**](VAM-PDU-Descriptions.md#ClusterCardinalitySize) <br> Indicates an estimation of the number of VRUs in the group. * clusterID [**ClusterId**](VAM-PDU-Descriptions.md#ClusterId) OPTIONAL<br> If the group is associated to a VRU cluster, this element indicates the ID of the associated cluster. The ClusterId can only be assigned if a VRU cluster which is transmitting VAMs has been detected. ```asn1 VruGroupSubClassType ::= SEQUENCE { groupType ClusterProfiles, groupSize ClusterCardinalitySize, clusterID ClusterId OPTIONAL } ``` ### <a name="OffsetPoint"></a>Offset Point Describes an offset position in a two- or three-dimensional plane as imported from Loading Loading @@ -623,63 +668,6 @@ NodeOffsetPointZ ::= CHOICE { } ``` ### <a name="AnimalSubclassType"></a>Animal Subclass Type Describes the subclass of a detected object for class animal. **Unit**: _n/a_ Values: * **unknown** (0) <br> the kind of animal is not known ```asn1 AnimalSubclassType ::= INTEGER { unknown (0) } (0..255) ``` ### <a name="PersonSubclassType"></a>Person Subclass Type Describes the subclass of a detected object for class persons. Persons are a subset of the vulnerable road users as defined in Section 4.2 of ETSI TR 103 300-2 as well as in the classification provided in Annex 1 of Regulation EU 168/2013. **Unit**: _n/a_ Values: * **unknown** (0)<br> the vru type for the detected object is unknown * **pedestrian** (1)<br> the detected object is a pedestrian travelling on foot * **personInWheelchair** (2)<br> the detected object is a person travelling in a wheelchair * **cyclist** (3)<br> the detected object is one or multiple persons travelling on non-motorized unicycles, bicycles, tricycles or quadricycle * **personWithStroller** (4)<br> the detected object is a person travelling on foot pushing or pulling a stroller potentially carrying by one or multiple other persons * **personOnSkates** (5)<br> the detected object is a person travelling on skates, skateboards or a small electric or foot operated scooter * **personGroup** (6) <br> the detected object is a group of persons with similar movement characteristics ```asn1 PersonSubclassType ::= INTEGER { unknown (0), pedestrian (1), personInWheelchair (2), cyclist (3), personWithStroller (4), personOnSkates (5), personGroup (6) } (0..255) ``` ### <a name="VehicleSubclassType"></a>Vehicle Subclass Type Describes the subclass of a detected object for class vehicle. Loading @@ -690,53 +678,45 @@ Describes the subclass of a detected object for class vehicle. Values: * **unknown** (0)<br> the type of vehicle is unknown * **moped** (1)<br> the detected object is a light motor vehicle with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1, L2 * **motorcycle** (2)<br> the detected object is a light motor vehicle with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3, L4, L5, L6, L7 * **passengerCar** (3)<br> * **passengerCar** (1)<br> the detected object is a small passenger car as defined in UNECE/TRANS/WP.29/78/Rev.4 class M1 * **bus** (4)<br> * **bus** (2)<br> the detected object is a large passenger vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3 * **lightTruck** (5)<br> * **lightTruck** (3)<br> the detected object is a light goods vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class N1 * **heavyTruck** (6)<br> * **heavyTruck** (4)<br> the detected object is a heavy goods vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class N2, N3 * **trailer** (7)<br> * **trailer** (5)<br> the detected object is an unpowered vehicle that is intended to be towed by a powered vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class O * **specialVehicles** (8)<br> * **specialVehicles** (6)<br> the detected object is a vehicle which has a special purpose other than the above (e.g. moving road works vehicle) * **tram** (9)<br> * **tram** (7)<br> the detected object is a vehicle running on tracks along public streets * **emergencyVehicle** (10)<br> * **emergencyVehicle** (8)<br> the detected object is a vehicle used in an emergency situation such as an ambulance, police car or fire engine * **agricultural** (11) <br> * **agricultural** (9) <br> the detected object is a vehicle used for agricultural purposes ```asn1 VehicleSubclassType ::= INTEGER { unknown (0), moped (1), motorcycle (2), passengerCar (3), bus (4), lightTruck (5), heavyTruck (6), trailer (7), specialVehicles (8), tram (9), emergencyVehicle (10), agricultural (11) passengerCar (1), bus (2), lightTruck (3), heavyTruck (4), trailer (5), specialVehicles (6), tram (7), emergencyVehicle (8), agricultural (9) } (0..255) ``` Loading docs/VAM-PDU-Descriptions.md 0 → 100644 +536 −0 Original line number Diff line number Diff line # ASN.1 module VAM-PDU-Descriptions OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) vam(1) version1(1)}_ ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(102894) cdd(2) version(2)}*<br/> * **[CAM-PDU-Descriptions](CAM-PDU-Descriptions.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) en(302637) cam(2) version(2)}*<br/> * **[VAM-Temp-Imports](VAM-Temp-Imports.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) temp-imports(255) version1(1)} WITH SUCCESSORS*<br/> * **[DSRC](DSRC.md)** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (2)}*<br/> ## Data Elements: ```asn1 VAM ::= SEQUENCE { header ItsPduHeaderVam, vam VruAwareness } ``` ```asn1 ItsPduHeaderVam ::= ItsPduHeader(WITH COMPONENTS { ..., messageID(vam) }) ``` ```asn1 VruAwareness ::= SEQUENCE { generationDeltaTime GenerationDeltaTime, vamParameters VamParameters } ``` ```asn1 VamParameters ::= SEQUENCE { basicContainer BasicContainer, vruHighFrequencyContainer VruHighFrequencyContainer OPTIONAL, vruLowFrequencyContainer VruLowFrequencyContainer OPTIONAL, vruClusterInformationContainer VruClusterInformationContainer OPTIONAL, vruClusterOperationContainer VruClusterOperationContainer OPTIONAL, vruMotionPredictionContainer VruMotionPredictionContainer OPTIONAL, ... } ``` ```asn1 VruProfile ::= ENUMERATED { unavailable(0), pedestrian(1), cyclist(2), motorcyclist(3), animal(4), max(15) } ``` ```asn1 VruHighFrequencyContainer ::= SEQUENCE { heading Heading, speed Speed, longitudinalAcceleration LongitudinalAcceleration, curvature Curvature OPTIONAL, curvatureCalculationMode CurvatureCalculationMode OPTIONAL, yawRate YawRate OPTIONAL, lateralAcceleration LateralAcceleration OPTIONAL, verticalAcceleration VerticalAcceleration OPTIONAL, vruLanePosition VruLanePosition OPTIONAL, environment VruEnvironment OPTIONAL, movementControl VruMovementControl OPTIONAL, orientation VruOrientation OPTIONAL, rollAngle VruRollAngle OPTIONAL, deviceUsage VruDeviceUsage OPTIONAL, ... } ``` ```asn1 VruLanePosition ::= CHOICE { offRoadLanePosition OffRoadLanePosition, vehicularLanePosition LanePosition, trafficIslandPosition TrafficIslandPosition, mapPosition MapPosition, ... } ``` ```asn1 OffRoadLanePosition ::= ENUMERATED { unavailable(0), sidewalk(1), parkingLane(2), bikeLane(3), max(15) } ``` ```asn1 TrafficIslandPosition ::= SEQUENCE { oneSide NonIslandLanePosition, otherSide NonIslandLanePosition, ... } ``` ```asn1 NonIslandLanePosition ::= CHOICE { offRoadLanePosition OffRoadLanePosition, vehicularLanePosition LanePosition, mapPosition MapPosition, ... } ``` ```asn1 MapPosition ::= SEQUENCE { intersectionId IntersectionReferenceID, lane LaneID } ``` ```asn1 VruEnvironment ::= ENUMERATED { unavailable (0), intersectionCrossing(1), zebraCrossing(2), sidewalk (3), onVehicleRoad(4), protectedGeographicArea(5), max (255) } ``` ```asn1 VruMovementControl ::= ENUMERATED { unavailable (0), braking(1), hardBraking(2), stopPedaling (3), brakingAndStopPedaling(4), hardBrakingAndStopPedaling (5), noReaction(6), max (255) } ``` ```asn1 VruOrientation ::= Heading ``` ```asn1 VruRollAngle ::= Heading ``` ```asn1 VruDeviceUsage ::= ENUMERATED { unavailable(0), other(1), idle(2), listeningToAudio(3), typing(4), calling(5), playingGames(6), reading(7), viewing(8), max(255) } ``` ```asn1 VruLowFrequencyContainer ::= SEQUENCE { profileAndSubprofile VruProfileAndSubprofile OPTIONAL, exteriorLights VruExteriorLights OPTIONAL, sizeClass VruSizeClass OPTIONAL, ... } ``` ```asn1 VruProfileAndSubprofile ::= CHOICE { pedestrian VruSubProfilePedestrian, bicyclist VruSubProfileBicyclist, motorcylist VruSubProfileMotorcyclist, animal VruSubProfileAnimal, ... } ``` ```asn1 VruSubProfilePedestrian ::= ENUMERATED { unavailable(0), ordinary-pedestrian(1), road-worker(2), first-responder(3), max(15) } ``` ```asn1 VruSubProfileBicyclist ::= ENUMERATED { unavailable(0), bicyclist(1), wheelchair-user(2), horse-and-rider(3), rollerskater(4), e-scooter(5), personal-transporter(6), pedelec(7), speed-pedelec(8), max(15) } ``` ```asn1 VruSubProfileMotorcyclist ::= ENUMERATED { unavailable(0), moped(1), motorcycle(2), motorcycle-and-sidecar-right(3), motorcycle-and-sidecar-left(4), max(15) } ``` ```asn1 VruSubProfileAnimal ::= ENUMERATED { unavailable(0), wild-animal(1), farm-animal(2), service-animal(3), max(15) } ``` ```asn1 VruExteriorLights ::= SEQUENCE { vruSpecific VruSpecificExteriorLights, vehicular ExteriorLights } ``` ```asn1 VruSpecificExteriorLights ::= BIT STRING { unavailable (0), backFlashLight (1), helmetLight (2), armLight (3), legLight (4), wheelLight (5) } (SIZE(8)) ``` ```asn1 VruSizeClass ::= ENUMERATED { unavailable (0), low(1), medium(2), high (3), max(15) } ``` ```asn1 VruClusterInformationContainer ::= SEQUENCE { clusterId ClusterId, clusterBoundingBoxShape ClusterBoundingBoxShape, clusterCardinalitySize ClusterCardinalitySize, clusterProfiles ClusterProfiles, ... } ``` ```asn1 ClusterId ::= INTEGER(0..255) ``` ```asn1 ClusterBoundingBoxShape::= CHOICE { clusterRectangle AreaRectangle, clusterCircle AreaCircular, clusterPolygon AreaPolygon, ... } ``` ```asn1 ClusterCardinalitySize ::= INTEGER {unavailable(0), onlyLeader(1)} (0..255) ``` ```asn1 ClusterProfiles ::= BIT STRING { pedestrian(0), bicyclist(1), motorcyclist(2), animal(3) } (SIZE(4)) ``` ```asn1 VruClusterOperationContainer ::= SEQUENCE { clusterJoinInfo ClusterJoinInfo OPTIONAL, clusterLeaveInfo ClusterLeaveInfo OPTIONAL, clusterBreakupInfo ClusterBreakupInfo OPTIONAL, clusterIdChangeTimeInfo VruClusterOpTimestamp OPTIONAL, ... } ``` ```asn1 VruClusterOpTimestamp ::= INTEGER (1..255) ``` ```asn1 ClusterJoinInfo ::= SEQUENCE { clusterId ClusterId, joinTime VruClusterOpTimestamp, ... } ``` ```asn1 ClusterLeaveInfo ::= SEQUENCE { clusterId ClusterId, clusterLeaveReason ClusterLeaveReason, ... } ``` ```asn1 ClusterBreakupInfo ::= SEQUENCE { clusterBreakupReason ClusterBreakupReason, breakupTime VruClusterOpTimestamp, ... } ``` ```asn1 ClusterLeaveReason ::= ENUMERATED { notProvided (0), clusterLeaderLost (1), clusterDisbandedByLeader (2), outOfClusterBoundingBox (3), outOfClusterSpeedRange (4), joiningAnotherCluster (5), cancelledJoin (6), failedJoin (7), safetyCondition (8), max(15) } ``` ```asn1 ClusterBreakupReason ::= ENUMERATED { notProvided (0), clusteringPurposeCompleted (1), leaderMovedOutOfClusterBoundingBox (2), joiningAnotherCluster (3), enteringLowRiskAreaBasedOnMaps (4), receptionOfCpmContainingCluster (5), max(15) } ``` ```asn1 VruMotionPredictionContainer ::= SEQUENCE { pathHistory PathHistory OPTIONAL, pathPrediction SequenceOfVruPathPoint OPTIONAL, safeDistance SequenceOfVruSafeDistanceIndication OPTIONAL, trajectoryInterceptionIndication SequenceOfTrajectoryInterceptionIndication OPTIONAL, accelerationChangeIndication AccelerationChangeIndication OPTIONAL, headingChangeIndication HeadingChangeIndication OPTIONAL, stabilityChangeIndication StabilityChangeIndication OPTIONAL, ... } ``` ```asn1 SequenceOfVruPathPoint ::= SEQUENCE OF VruPathPoint ``` ```asn1 VruPathPoint ::= SEQUENCE { pathPosition ReferencePosition, pathDeltaTime PathDeltaTime OPTIONAL } ``` ```asn1 SequenceOfVruSafeDistanceIndication ::= SEQUENCE(SIZE(1..8)) OF VruSafeDistanceIndication ``` ```asn1 VruSafeDistanceIndication ::= SEQUENCE { subjectStation StationID OPTIONAL, stationSafeDistanceIndication StationSafeDistanceIndication, timeToCollision ActionDeltaTime OPTIONAL, ... } ``` ```asn1 StationSafeDistanceIndication ::= BOOLEAN ``` ```asn1 SequenceOfTrajectoryInterceptionIndication ::= SEQUENCE (SIZE(1..8)) OF TrajectoryInterceptionIndication ``` ```asn1 TrajectoryInterceptionIndication ::= SEQUENCE { subjectStation StationID OPTIONAL, trajectoryInterceptionProbability TrajectoryInterceptionProbability, trajectoryInterceptionConfidence TrajectoryInterceptionConfidence OPTIONAL, ... } ``` ```asn1 TrajectoryInterceptionProbability ::= INTEGER { zero(0), twoPercent(1), fourPercent(2), oneHundredPercent(50), unavailable (63) } (0..63) ``` ```asn1 TrajectoryInterceptionConfidence ::= INTEGER { lessthan50percent(0), between50and70Percent(1), between70and90Percent(2), above90Percent(3) } (0..3) ``` ```asn1 HeadingChangeIndication ::= SEQUENCE { direction LeftOrRight, actionDeltaTime ActionDeltaTime, ... } ``` ```asn1 LeftOrRight ::= ENUMERATED { left, right } ``` ```asn1 ActionDeltaTime ::= INTEGER {zero(0), hundredMs(1), twoHundredMs(2), unavailable (127) } (0..127) ``` ```asn1 AccelerationChangeIndication ::= SEQUENCE { accelOrDecel AccelOrDecel, actionDeltaTime ActionDeltaTime, ... } ``` ```asn1 AccelOrDecel ::= ENUMERATED { accelerate, decelerate } ``` ```asn1 StabilityChangeIndication ::= SEQUENCE { lossProbability StabilityLossProbability, actionDeltaTime ActionDeltaTime, ... } ``` ```asn1 StabilityLossProbability ::= INTEGER { zero(0), twoPercent (1), fourPercent(2), unavailable (63) } (0..63) ``` docs/VAM-Temp-Imports.md 0 → 100644 +172 −0 Original line number Diff line number Diff line # ASN.1 module VAM-Temp-Imports OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) temp-imports(255) version1(1)}_ ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*<br/> * **[DSRC](DSRC.md)** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (2)}*<br/> ## Data Elements: ### <a name="BasicContainer"></a>BasicContainer Fields: * stationType [**StationType**](ITS-Container.md#StationType) <br> * referencePosition [**ReferencePosition**](ITS-Container.md#ReferencePosition) <br> ```asn1 BasicContainer ::= SEQUENCE { stationType StationType, referencePosition ReferencePosition, ... } ``` ### <a name="ItsPduHeader"></a>ItsPduHeader Fields: * protocolVersion **INTEGER** (0..255)<br> * messageID **INTEGER** { denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13), vam(14) } (0..255)<br> * stationID [**StationID**](ITS-Container.md#StationID) <br> ```asn1 ItsPduHeader ::= SEQUENCE { protocolVersion INTEGER (0..255), messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13), vam(14) } (0..255), stationID StationID } ``` ### <a name="AreaCircular"></a>AreaCircular Fields: * nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL<br> * radius [**Radius**](#Radius) <br> ```asn1 AreaCircular ::= SEQUENCE { nodeCenterPoint OffsetPoint OPTIONAL, radius Radius } ``` ### <a name="AreaPolygon"></a>AreaPolygon Fields: * polyPointList [**PolyPointList**](#PolyPointList) <br> ```asn1 AreaPolygon ::= SEQUENCE { polyPointList PolyPointList } ``` ### <a name="AreaRectangle"></a>AreaRectangle Fields: * nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL<br> * semiMajorRangeLength [**SemiRangeLength**](#SemiRangeLength) <br> * semiMinorRangeLength [**SemiRangeLength**](#SemiRangeLength) <br> * semiMajorRangeOrientation [**WGS84AngleValue**](#WGS84AngleValue) <br> * semiHeight [**SemiRangeLength**](#SemiRangeLength) OPTIONAL<br> ```asn1 AreaRectangle ::= SEQUENCE { nodeCenterPoint OffsetPoint OPTIONAL, semiMajorRangeLength SemiRangeLength, semiMinorRangeLength SemiRangeLength, semiMajorRangeOrientation WGS84AngleValue, semiHeight SemiRangeLength OPTIONAL } ``` ### <a name="OffsetPoint"></a>OffsetPoint Fields: * nodeOffsetPointXY [**NodeOffsetPointXY**](DSRC.md#NodeOffsetPointXY) (WITH COMPONENTS {..., node-LatLon ABSENT, regional ABSENT})<br> * nodeOffsetPointZ [**NodeOffsetPointZ**](#NodeOffsetPointZ) OPTIONAL<br> ```asn1 OffsetPoint ::= SEQUENCE{ nodeOffsetPointXY NodeOffsetPointXY (WITH COMPONENTS {..., node-LatLon ABSENT, regional ABSENT}), nodeOffsetPointZ NodeOffsetPointZ OPTIONAL } ``` ### <a name="NodeOffsetPointZ"></a>NodeOffsetPointZ Fields: * node-Z1 [**Offset-B10**](DSRC.md#Offset-B10) <br> * node-Z2 [**Offset-B11**](DSRC.md#Offset-B11) <br> * node-Z3 [**Offset-B12**](DSRC.md#Offset-B12) <br> * node-Z4 [**Offset-B13**](DSRC.md#Offset-B13) <br> * node-Z5 [**Offset-B14**](DSRC.md#Offset-B14) <br> * node-Z6 [**Offset-B16**](DSRC.md#Offset-B16) <br> ```asn1 NodeOffsetPointZ ::= CHOICE { node-Z1 Offset-B10, node-Z2 Offset-B11, node-Z3 Offset-B12, node-Z4 Offset-B13, node-Z5 Offset-B14, node-Z6 Offset-B16 } ``` ### <a name="Radius"></a>Radius Values: * **zeroPointOneMeter** (1)<br> * **oneMeter** (10)<br> ```asn1 Radius ::= INTEGER { zeroPointOneMeter (1), oneMeter (10) } (0..10000) ``` ### <a name="PolyPointList"></a>PolyPointList ```asn1 PolyPointList ::= SEQUENCE (SIZE(3..16, ...)) OF OffsetPoint ``` ### <a name="SemiRangeLength"></a>SemiRangeLength Values: * **zeroPointOneMeter** (1)<br> * **oneMeter** (10)<br> ```asn1 SemiRangeLength ::= INTEGER { zeroPointOneMeter (1), oneMeter (10) } (0..10000) ``` ### <a name="WGS84AngleValue"></a>WGS84AngleValue Values: * **wgs84North** (0)<br> * **wgs84East** (900)<br> * **wgs84South** (1800)<br> * **wgs84West** (2700)<br> * **unavailable** (3601)<br> ```asn1 WGS84AngleValue ::= INTEGER { wgs84North (0), wgs84East (900), wgs84South (1800), wgs84West (2700), unavailable (3601) } (0..3601) ``` ### <a name="StationType"></a>StationType ```asn1 StationType ::= INTEGER { unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), lightVruVehicle(12), animal(13), roadSideUnit(15) } (0..255) ``` Loading
docs/CPM-CommonDataTypes-Descriptions.md +72 −92 Original line number Diff line number Diff line Loading @@ -10,6 +10,10 @@ Include ISO 19091 Include references from https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn * **[VAM-PDU-Descriptions](VAM-PDU-Descriptions.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) vam(1) version1(1)}*<br/> Include ETSI TS 103 300-3 V2.1.1 Include references from https://forge.etsi.org/rep/ITS/asn1/vam-ts103300_3/tree/v2.1.1/ ## Data Elements: ### <a name="AreaCircular"></a>Area Circular Loading Loading @@ -542,8 +546,7 @@ ObjectClassDescription ::= SEQUENCE (SIZE(1..8)) OF ObjectClassWithConfidence ### <a name="ObjectClassWithConfidence"></a>Object Class with Confidence Describes the classification of a detected object. The object can be classified into one of four categories: vehicle, person, animal and other. The classification is provided with a Describes the classification of a detected object. The classification is provided with a confidence indication. Loading @@ -559,24 +562,66 @@ ObjectClassWithConfidence ::= SEQUENCE { ### <a name="ObjectClass"></a>Object Class The class that best describes the detected object. Each class provides optional subclasses. The class that best describes the detected object. The object can be classified into one of three categories: vehicle, VRU and other. Each class provides optional subclasses. Fields: * vehicleSubclass [**VehicleSubclassType**](#VehicleSubclassType) <br> * personSubclass [**PersonSubclassType**](#PersonSubclassType) <br> * animalSubclass [**AnimalSubclassType**](#AnimalSubclassType) <br> * vruSubclass [**VruSubclassType**](#VruSubclassType) <br> * otherSubclass [**OtherSubclassType**](#OtherSubclassType) <br> ```asn1 ObjectClass ::= CHOICE { vehicleSubclass VehicleSubclassType, personSubclass PersonSubclassType, animalSubclass AnimalSubclassType, vruSubclass VruSubclassType, otherSubclass OtherSubclassType, ... } ``` ### <a name="VruSubclassType"></a>VRU Subclass Type Describes if a detected object is a single VRU or a group of VRUs. Fields: * singleVru [**VruProfileAndSubprofile**](VAM-PDU-Descriptions.md#VruProfileAndSubprofile) <br> * vruGroupSubclass [**VruGroupSubClassType**](#VruGroupSubClassType) <br> ```asn1 VruSubclassType ::= CHOICE { singleVru VruProfileAndSubprofile, vruGroupSubclass VruGroupSubClassType } ``` ### <a name="VruGroupSubClassType"></a>VruGroup Subclass Type Describes the composition of a group of VRUs. Fields: * groupType [**ClusterProfiles**](VAM-PDU-Descriptions.md#ClusterProfiles) <br> Indicates the profiles of the VRUs detected in the group. A group of VRUs may be composed of VRUs of several different profiles. * groupSize [**ClusterCardinalitySize**](VAM-PDU-Descriptions.md#ClusterCardinalitySize) <br> Indicates an estimation of the number of VRUs in the group. * clusterID [**ClusterId**](VAM-PDU-Descriptions.md#ClusterId) OPTIONAL<br> If the group is associated to a VRU cluster, this element indicates the ID of the associated cluster. The ClusterId can only be assigned if a VRU cluster which is transmitting VAMs has been detected. ```asn1 VruGroupSubClassType ::= SEQUENCE { groupType ClusterProfiles, groupSize ClusterCardinalitySize, clusterID ClusterId OPTIONAL } ``` ### <a name="OffsetPoint"></a>Offset Point Describes an offset position in a two- or three-dimensional plane as imported from Loading Loading @@ -623,63 +668,6 @@ NodeOffsetPointZ ::= CHOICE { } ``` ### <a name="AnimalSubclassType"></a>Animal Subclass Type Describes the subclass of a detected object for class animal. **Unit**: _n/a_ Values: * **unknown** (0) <br> the kind of animal is not known ```asn1 AnimalSubclassType ::= INTEGER { unknown (0) } (0..255) ``` ### <a name="PersonSubclassType"></a>Person Subclass Type Describes the subclass of a detected object for class persons. Persons are a subset of the vulnerable road users as defined in Section 4.2 of ETSI TR 103 300-2 as well as in the classification provided in Annex 1 of Regulation EU 168/2013. **Unit**: _n/a_ Values: * **unknown** (0)<br> the vru type for the detected object is unknown * **pedestrian** (1)<br> the detected object is a pedestrian travelling on foot * **personInWheelchair** (2)<br> the detected object is a person travelling in a wheelchair * **cyclist** (3)<br> the detected object is one or multiple persons travelling on non-motorized unicycles, bicycles, tricycles or quadricycle * **personWithStroller** (4)<br> the detected object is a person travelling on foot pushing or pulling a stroller potentially carrying by one or multiple other persons * **personOnSkates** (5)<br> the detected object is a person travelling on skates, skateboards or a small electric or foot operated scooter * **personGroup** (6) <br> the detected object is a group of persons with similar movement characteristics ```asn1 PersonSubclassType ::= INTEGER { unknown (0), pedestrian (1), personInWheelchair (2), cyclist (3), personWithStroller (4), personOnSkates (5), personGroup (6) } (0..255) ``` ### <a name="VehicleSubclassType"></a>Vehicle Subclass Type Describes the subclass of a detected object for class vehicle. Loading @@ -690,53 +678,45 @@ Describes the subclass of a detected object for class vehicle. Values: * **unknown** (0)<br> the type of vehicle is unknown * **moped** (1)<br> the detected object is a light motor vehicle with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L1, L2 * **motorcycle** (2)<br> the detected object is a light motor vehicle with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 class L3, L4, L5, L6, L7 * **passengerCar** (3)<br> * **passengerCar** (1)<br> the detected object is a small passenger car as defined in UNECE/TRANS/WP.29/78/Rev.4 class M1 * **bus** (4)<br> * **bus** (2)<br> the detected object is a large passenger vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3 * **lightTruck** (5)<br> * **lightTruck** (3)<br> the detected object is a light goods vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class N1 * **heavyTruck** (6)<br> * **heavyTruck** (4)<br> the detected object is a heavy goods vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class N2, N3 * **trailer** (7)<br> * **trailer** (5)<br> the detected object is an unpowered vehicle that is intended to be towed by a powered vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 class O * **specialVehicles** (8)<br> * **specialVehicles** (6)<br> the detected object is a vehicle which has a special purpose other than the above (e.g. moving road works vehicle) * **tram** (9)<br> * **tram** (7)<br> the detected object is a vehicle running on tracks along public streets * **emergencyVehicle** (10)<br> * **emergencyVehicle** (8)<br> the detected object is a vehicle used in an emergency situation such as an ambulance, police car or fire engine * **agricultural** (11) <br> * **agricultural** (9) <br> the detected object is a vehicle used for agricultural purposes ```asn1 VehicleSubclassType ::= INTEGER { unknown (0), moped (1), motorcycle (2), passengerCar (3), bus (4), lightTruck (5), heavyTruck (6), trailer (7), specialVehicles (8), tram (9), emergencyVehicle (10), agricultural (11) passengerCar (1), bus (2), lightTruck (3), heavyTruck (4), trailer (5), specialVehicles (6), tram (7), emergencyVehicle (8), agricultural (9) } (0..255) ``` Loading
docs/VAM-PDU-Descriptions.md 0 → 100644 +536 −0 Original line number Diff line number Diff line # ASN.1 module VAM-PDU-Descriptions OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) vam(1) version1(1)}_ ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(102894) cdd(2) version(2)}*<br/> * **[CAM-PDU-Descriptions](CAM-PDU-Descriptions.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) en(302637) cam(2) version(2)}*<br/> * **[VAM-Temp-Imports](VAM-Temp-Imports.md)** *{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) temp-imports(255) version1(1)} WITH SUCCESSORS*<br/> * **[DSRC](DSRC.md)** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (2)}*<br/> ## Data Elements: ```asn1 VAM ::= SEQUENCE { header ItsPduHeaderVam, vam VruAwareness } ``` ```asn1 ItsPduHeaderVam ::= ItsPduHeader(WITH COMPONENTS { ..., messageID(vam) }) ``` ```asn1 VruAwareness ::= SEQUENCE { generationDeltaTime GenerationDeltaTime, vamParameters VamParameters } ``` ```asn1 VamParameters ::= SEQUENCE { basicContainer BasicContainer, vruHighFrequencyContainer VruHighFrequencyContainer OPTIONAL, vruLowFrequencyContainer VruLowFrequencyContainer OPTIONAL, vruClusterInformationContainer VruClusterInformationContainer OPTIONAL, vruClusterOperationContainer VruClusterOperationContainer OPTIONAL, vruMotionPredictionContainer VruMotionPredictionContainer OPTIONAL, ... } ``` ```asn1 VruProfile ::= ENUMERATED { unavailable(0), pedestrian(1), cyclist(2), motorcyclist(3), animal(4), max(15) } ``` ```asn1 VruHighFrequencyContainer ::= SEQUENCE { heading Heading, speed Speed, longitudinalAcceleration LongitudinalAcceleration, curvature Curvature OPTIONAL, curvatureCalculationMode CurvatureCalculationMode OPTIONAL, yawRate YawRate OPTIONAL, lateralAcceleration LateralAcceleration OPTIONAL, verticalAcceleration VerticalAcceleration OPTIONAL, vruLanePosition VruLanePosition OPTIONAL, environment VruEnvironment OPTIONAL, movementControl VruMovementControl OPTIONAL, orientation VruOrientation OPTIONAL, rollAngle VruRollAngle OPTIONAL, deviceUsage VruDeviceUsage OPTIONAL, ... } ``` ```asn1 VruLanePosition ::= CHOICE { offRoadLanePosition OffRoadLanePosition, vehicularLanePosition LanePosition, trafficIslandPosition TrafficIslandPosition, mapPosition MapPosition, ... } ``` ```asn1 OffRoadLanePosition ::= ENUMERATED { unavailable(0), sidewalk(1), parkingLane(2), bikeLane(3), max(15) } ``` ```asn1 TrafficIslandPosition ::= SEQUENCE { oneSide NonIslandLanePosition, otherSide NonIslandLanePosition, ... } ``` ```asn1 NonIslandLanePosition ::= CHOICE { offRoadLanePosition OffRoadLanePosition, vehicularLanePosition LanePosition, mapPosition MapPosition, ... } ``` ```asn1 MapPosition ::= SEQUENCE { intersectionId IntersectionReferenceID, lane LaneID } ``` ```asn1 VruEnvironment ::= ENUMERATED { unavailable (0), intersectionCrossing(1), zebraCrossing(2), sidewalk (3), onVehicleRoad(4), protectedGeographicArea(5), max (255) } ``` ```asn1 VruMovementControl ::= ENUMERATED { unavailable (0), braking(1), hardBraking(2), stopPedaling (3), brakingAndStopPedaling(4), hardBrakingAndStopPedaling (5), noReaction(6), max (255) } ``` ```asn1 VruOrientation ::= Heading ``` ```asn1 VruRollAngle ::= Heading ``` ```asn1 VruDeviceUsage ::= ENUMERATED { unavailable(0), other(1), idle(2), listeningToAudio(3), typing(4), calling(5), playingGames(6), reading(7), viewing(8), max(255) } ``` ```asn1 VruLowFrequencyContainer ::= SEQUENCE { profileAndSubprofile VruProfileAndSubprofile OPTIONAL, exteriorLights VruExteriorLights OPTIONAL, sizeClass VruSizeClass OPTIONAL, ... } ``` ```asn1 VruProfileAndSubprofile ::= CHOICE { pedestrian VruSubProfilePedestrian, bicyclist VruSubProfileBicyclist, motorcylist VruSubProfileMotorcyclist, animal VruSubProfileAnimal, ... } ``` ```asn1 VruSubProfilePedestrian ::= ENUMERATED { unavailable(0), ordinary-pedestrian(1), road-worker(2), first-responder(3), max(15) } ``` ```asn1 VruSubProfileBicyclist ::= ENUMERATED { unavailable(0), bicyclist(1), wheelchair-user(2), horse-and-rider(3), rollerskater(4), e-scooter(5), personal-transporter(6), pedelec(7), speed-pedelec(8), max(15) } ``` ```asn1 VruSubProfileMotorcyclist ::= ENUMERATED { unavailable(0), moped(1), motorcycle(2), motorcycle-and-sidecar-right(3), motorcycle-and-sidecar-left(4), max(15) } ``` ```asn1 VruSubProfileAnimal ::= ENUMERATED { unavailable(0), wild-animal(1), farm-animal(2), service-animal(3), max(15) } ``` ```asn1 VruExteriorLights ::= SEQUENCE { vruSpecific VruSpecificExteriorLights, vehicular ExteriorLights } ``` ```asn1 VruSpecificExteriorLights ::= BIT STRING { unavailable (0), backFlashLight (1), helmetLight (2), armLight (3), legLight (4), wheelLight (5) } (SIZE(8)) ``` ```asn1 VruSizeClass ::= ENUMERATED { unavailable (0), low(1), medium(2), high (3), max(15) } ``` ```asn1 VruClusterInformationContainer ::= SEQUENCE { clusterId ClusterId, clusterBoundingBoxShape ClusterBoundingBoxShape, clusterCardinalitySize ClusterCardinalitySize, clusterProfiles ClusterProfiles, ... } ``` ```asn1 ClusterId ::= INTEGER(0..255) ``` ```asn1 ClusterBoundingBoxShape::= CHOICE { clusterRectangle AreaRectangle, clusterCircle AreaCircular, clusterPolygon AreaPolygon, ... } ``` ```asn1 ClusterCardinalitySize ::= INTEGER {unavailable(0), onlyLeader(1)} (0..255) ``` ```asn1 ClusterProfiles ::= BIT STRING { pedestrian(0), bicyclist(1), motorcyclist(2), animal(3) } (SIZE(4)) ``` ```asn1 VruClusterOperationContainer ::= SEQUENCE { clusterJoinInfo ClusterJoinInfo OPTIONAL, clusterLeaveInfo ClusterLeaveInfo OPTIONAL, clusterBreakupInfo ClusterBreakupInfo OPTIONAL, clusterIdChangeTimeInfo VruClusterOpTimestamp OPTIONAL, ... } ``` ```asn1 VruClusterOpTimestamp ::= INTEGER (1..255) ``` ```asn1 ClusterJoinInfo ::= SEQUENCE { clusterId ClusterId, joinTime VruClusterOpTimestamp, ... } ``` ```asn1 ClusterLeaveInfo ::= SEQUENCE { clusterId ClusterId, clusterLeaveReason ClusterLeaveReason, ... } ``` ```asn1 ClusterBreakupInfo ::= SEQUENCE { clusterBreakupReason ClusterBreakupReason, breakupTime VruClusterOpTimestamp, ... } ``` ```asn1 ClusterLeaveReason ::= ENUMERATED { notProvided (0), clusterLeaderLost (1), clusterDisbandedByLeader (2), outOfClusterBoundingBox (3), outOfClusterSpeedRange (4), joiningAnotherCluster (5), cancelledJoin (6), failedJoin (7), safetyCondition (8), max(15) } ``` ```asn1 ClusterBreakupReason ::= ENUMERATED { notProvided (0), clusteringPurposeCompleted (1), leaderMovedOutOfClusterBoundingBox (2), joiningAnotherCluster (3), enteringLowRiskAreaBasedOnMaps (4), receptionOfCpmContainingCluster (5), max(15) } ``` ```asn1 VruMotionPredictionContainer ::= SEQUENCE { pathHistory PathHistory OPTIONAL, pathPrediction SequenceOfVruPathPoint OPTIONAL, safeDistance SequenceOfVruSafeDistanceIndication OPTIONAL, trajectoryInterceptionIndication SequenceOfTrajectoryInterceptionIndication OPTIONAL, accelerationChangeIndication AccelerationChangeIndication OPTIONAL, headingChangeIndication HeadingChangeIndication OPTIONAL, stabilityChangeIndication StabilityChangeIndication OPTIONAL, ... } ``` ```asn1 SequenceOfVruPathPoint ::= SEQUENCE OF VruPathPoint ``` ```asn1 VruPathPoint ::= SEQUENCE { pathPosition ReferencePosition, pathDeltaTime PathDeltaTime OPTIONAL } ``` ```asn1 SequenceOfVruSafeDistanceIndication ::= SEQUENCE(SIZE(1..8)) OF VruSafeDistanceIndication ``` ```asn1 VruSafeDistanceIndication ::= SEQUENCE { subjectStation StationID OPTIONAL, stationSafeDistanceIndication StationSafeDistanceIndication, timeToCollision ActionDeltaTime OPTIONAL, ... } ``` ```asn1 StationSafeDistanceIndication ::= BOOLEAN ``` ```asn1 SequenceOfTrajectoryInterceptionIndication ::= SEQUENCE (SIZE(1..8)) OF TrajectoryInterceptionIndication ``` ```asn1 TrajectoryInterceptionIndication ::= SEQUENCE { subjectStation StationID OPTIONAL, trajectoryInterceptionProbability TrajectoryInterceptionProbability, trajectoryInterceptionConfidence TrajectoryInterceptionConfidence OPTIONAL, ... } ``` ```asn1 TrajectoryInterceptionProbability ::= INTEGER { zero(0), twoPercent(1), fourPercent(2), oneHundredPercent(50), unavailable (63) } (0..63) ``` ```asn1 TrajectoryInterceptionConfidence ::= INTEGER { lessthan50percent(0), between50and70Percent(1), between70and90Percent(2), above90Percent(3) } (0..3) ``` ```asn1 HeadingChangeIndication ::= SEQUENCE { direction LeftOrRight, actionDeltaTime ActionDeltaTime, ... } ``` ```asn1 LeftOrRight ::= ENUMERATED { left, right } ``` ```asn1 ActionDeltaTime ::= INTEGER {zero(0), hundredMs(1), twoHundredMs(2), unavailable (127) } (0..127) ``` ```asn1 AccelerationChangeIndication ::= SEQUENCE { accelOrDecel AccelOrDecel, actionDeltaTime ActionDeltaTime, ... } ``` ```asn1 AccelOrDecel ::= ENUMERATED { accelerate, decelerate } ``` ```asn1 StabilityChangeIndication ::= SEQUENCE { lossProbability StabilityLossProbability, actionDeltaTime ActionDeltaTime, ... } ``` ```asn1 StabilityLossProbability ::= INTEGER { zero(0), twoPercent (1), fourPercent(2), unavailable (63) } (0..63) ```
docs/VAM-Temp-Imports.md 0 → 100644 +172 −0 Original line number Diff line number Diff line # ASN.1 module VAM-Temp-Imports OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1) ts(103300) temp-imports(255) version1(1)}_ ## Imports: * **[ITS-Container](ITS-Container.md)** *{itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}*<br/> * **[DSRC](DSRC.md)** *{iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (2)}*<br/> ## Data Elements: ### <a name="BasicContainer"></a>BasicContainer Fields: * stationType [**StationType**](ITS-Container.md#StationType) <br> * referencePosition [**ReferencePosition**](ITS-Container.md#ReferencePosition) <br> ```asn1 BasicContainer ::= SEQUENCE { stationType StationType, referencePosition ReferencePosition, ... } ``` ### <a name="ItsPduHeader"></a>ItsPduHeader Fields: * protocolVersion **INTEGER** (0..255)<br> * messageID **INTEGER** { denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13), vam(14) } (0..255)<br> * stationID [**StationID**](ITS-Container.md#StationID) <br> ```asn1 ItsPduHeader ::= SEQUENCE { protocolVersion INTEGER (0..255), messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11), saem(12), rtcmem(13), vam(14) } (0..255), stationID StationID } ``` ### <a name="AreaCircular"></a>AreaCircular Fields: * nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL<br> * radius [**Radius**](#Radius) <br> ```asn1 AreaCircular ::= SEQUENCE { nodeCenterPoint OffsetPoint OPTIONAL, radius Radius } ``` ### <a name="AreaPolygon"></a>AreaPolygon Fields: * polyPointList [**PolyPointList**](#PolyPointList) <br> ```asn1 AreaPolygon ::= SEQUENCE { polyPointList PolyPointList } ``` ### <a name="AreaRectangle"></a>AreaRectangle Fields: * nodeCenterPoint [**OffsetPoint**](#OffsetPoint) OPTIONAL<br> * semiMajorRangeLength [**SemiRangeLength**](#SemiRangeLength) <br> * semiMinorRangeLength [**SemiRangeLength**](#SemiRangeLength) <br> * semiMajorRangeOrientation [**WGS84AngleValue**](#WGS84AngleValue) <br> * semiHeight [**SemiRangeLength**](#SemiRangeLength) OPTIONAL<br> ```asn1 AreaRectangle ::= SEQUENCE { nodeCenterPoint OffsetPoint OPTIONAL, semiMajorRangeLength SemiRangeLength, semiMinorRangeLength SemiRangeLength, semiMajorRangeOrientation WGS84AngleValue, semiHeight SemiRangeLength OPTIONAL } ``` ### <a name="OffsetPoint"></a>OffsetPoint Fields: * nodeOffsetPointXY [**NodeOffsetPointXY**](DSRC.md#NodeOffsetPointXY) (WITH COMPONENTS {..., node-LatLon ABSENT, regional ABSENT})<br> * nodeOffsetPointZ [**NodeOffsetPointZ**](#NodeOffsetPointZ) OPTIONAL<br> ```asn1 OffsetPoint ::= SEQUENCE{ nodeOffsetPointXY NodeOffsetPointXY (WITH COMPONENTS {..., node-LatLon ABSENT, regional ABSENT}), nodeOffsetPointZ NodeOffsetPointZ OPTIONAL } ``` ### <a name="NodeOffsetPointZ"></a>NodeOffsetPointZ Fields: * node-Z1 [**Offset-B10**](DSRC.md#Offset-B10) <br> * node-Z2 [**Offset-B11**](DSRC.md#Offset-B11) <br> * node-Z3 [**Offset-B12**](DSRC.md#Offset-B12) <br> * node-Z4 [**Offset-B13**](DSRC.md#Offset-B13) <br> * node-Z5 [**Offset-B14**](DSRC.md#Offset-B14) <br> * node-Z6 [**Offset-B16**](DSRC.md#Offset-B16) <br> ```asn1 NodeOffsetPointZ ::= CHOICE { node-Z1 Offset-B10, node-Z2 Offset-B11, node-Z3 Offset-B12, node-Z4 Offset-B13, node-Z5 Offset-B14, node-Z6 Offset-B16 } ``` ### <a name="Radius"></a>Radius Values: * **zeroPointOneMeter** (1)<br> * **oneMeter** (10)<br> ```asn1 Radius ::= INTEGER { zeroPointOneMeter (1), oneMeter (10) } (0..10000) ``` ### <a name="PolyPointList"></a>PolyPointList ```asn1 PolyPointList ::= SEQUENCE (SIZE(3..16, ...)) OF OffsetPoint ``` ### <a name="SemiRangeLength"></a>SemiRangeLength Values: * **zeroPointOneMeter** (1)<br> * **oneMeter** (10)<br> ```asn1 SemiRangeLength ::= INTEGER { zeroPointOneMeter (1), oneMeter (10) } (0..10000) ``` ### <a name="WGS84AngleValue"></a>WGS84AngleValue Values: * **wgs84North** (0)<br> * **wgs84East** (900)<br> * **wgs84South** (1800)<br> * **wgs84West** (2700)<br> * **unavailable** (3601)<br> ```asn1 WGS84AngleValue ::= INTEGER { wgs84North (0), wgs84East (900), wgs84South (1800), wgs84West (2700), unavailable (3601) } (0..3601) ``` ### <a name="StationType"></a>StationType ```asn1 StationType ::= INTEGER { unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), lightVruVehicle(12), animal(13), roadSideUnit(15) } (0..255) ```