Commit 80f9c8b2 authored by ASN.1 Checker's avatar ASN.1 Checker
Browse files

Documentation update

parent 9af51e76
Loading
Loading
Loading
Loading
+72 −92
Original line number Diff line number Diff line
@@ -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

@@ -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.


@@ -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
@@ -623,63 +668,6 @@ NodeOffsetPointZ ::= CHOICE {
}
```

### <a name="AnimalSubclassType"></a>Animal Subclass Type

Describes the subclass of a detected object for class animal.


&nbsp;&nbsp;&nbsp;&nbsp;**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.


&nbsp;&nbsp;&nbsp;&nbsp;**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.
@@ -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)
```

+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)
```


+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)
```