# <a name="ETSI-ITS-DSRC"></a>ASN.1 module ETSI-ITS-DSRC
OID: _{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1) }_
draft 001 of the ETSI-ITS-DSRC module for TS 103 301 V2.2.1 integrating:
 initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]

## Imports:
* **[ETSI-ITS-CDD](ETSI-ITS-CDD.md)** *{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-1 (1) } WITH SUCCESSORS*<br/>
* **[ETSI-ITS-DSRC-REGION](ETSI-ITS-DSRC-REGION.md)** *{ itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) region (1) major-version-2 (2) minor-version-1 (1) } WITH SUCCESSORS*<br/>
## Data Elements:
### <a name="REG-EXT-ID-AND-TYPE"></a>REG-EXT-ID-AND-TYPE
This information object class is an abstract template to instantiate region extension.

* _id_ of type [**RegionId**](#RegionId)  UNIQUE<br>
  the identifier of the region type.

* Type<br>
  the extension content


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Basic Information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
REG-EXT-ID-AND-TYPE ::= CLASS {
  &id     RegionId UNIQUE,
  &Type
} WITH SYNTAX {&Type IDENTIFIED BY &id}
```

### <a name="RegionalExtension"></a>RegionalExtension
This DF represents a Region extension preceded by its type identifier and a lenght indicator.

 It shall include the following components:

* _regionId_ of type [**REG-EXT-ID-AND-TYPE**](ETSI-ITS-DSRC.md#REG-EXT-ID-AND-TYPE) .&id( {Set} )<br>
  the identifier of the region.

* _regExtValue_ of type [**REG-EXT-ID-AND-TYPE**](ETSI-ITS-DSRC.md#REG-EXT-ID-AND-TYPE) .&Type( {Set}{@regionId} )<br>
  the extension content consistent with the region type.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Basic Information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE {
  regionId     REG-EXT-ID-AND-TYPE.&id( {Set} ),
  regExtValue  REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} )
}
```

### <a name="MapData"></a>MapData
This DF is used to convey many types of geographic road information. At the current time its primary
 use is to convey one or more intersection lane geometry maps within a single message. The map message content
 includes such items as complex intersection descriptions, road segment descriptions, high speed curve outlines (used in
 curve safety messages), and segments of roadway (used in some safety applications). A given single MapData message
 may convey descriptions of one or more geographic areas or intersections. The contents of this message involve defining
 the details of indexing systems that are in turn used by other messages to relate additional information (for example, the
 signal phase and timing via the SPAT message) to events at specific geographic locations on the roadway.

Values:
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)  OPTIONAL<br>
  time reference

* _msgIssueRevision_ of type [**MsgCount**](#MsgCount) <br>
  The MapData revision is defined by the data element `revision` for each intersection
                            geometry (see [ISO TS 19091] G.8.2.4.1). Therefore, an additional revision indication of the overall
                            MapData message is not used in this profile. It shall be set to "0" for this profile.

* _layerType_ of type [**LayerType**](#LayerType)  OPTIONAL<br>
  There is no need to additionally identify the topological content by an additional identifier. The ASN.1
                     definition of the data frames `intersections` and `roadSegments` are clearly defined and need no
                     additional identifier. Therefore, this optional data element shall not be used in this profile.

* _layerID_ of type [**LayerID**](#LayerID)   OPTIONAL<br>
  This profile extends the purpose of the `layerID` data element as defined in SAE J2735 as follows: For
                   large intersections, the length of a MapData description may exceed the maximum data length of the
                   communication message. Therefore, a fragmentation of the MapData message (at application layer) in
                   two or more MapData fragments may be executed. If no MapData fragmentation is needed, the `layerID`
                   shall not be used. For more details, see the definition of the data element [**LayerID**](#LayerID).

* _intersections_ of type [**IntersectionGeometryList**](#IntersectionGeometryList)  OPTIONAL<br>
  All Intersection definitions.

* _roadSegments_ of type [**RoadSegmentList**](#RoadSegmentList)  OPTIONAL<br>
  All roadway descriptions.

* _dataParameters_ of type [**DataParameters**](#DataParameters)  OPTIONAL<br>
  Any meta data regarding the map contents.

* _restrictionList_ of type [**RestrictionClassList**](#RestrictionClassList)  OPTIONAL<br>
  Any restriction ID tables which have established for these map entries

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  This profile extends the MapData message with the regional data element [**MapData-addGrpC**](ETSI-ITS-DSRC-AddGrpC.md#MapData-addGrpC)

* **RegionalExtension** {{Reg-MapData}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Road topology information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
MapData ::= SEQUENCE {
  timeStamp         MinuteOfTheYear OPTIONAL,
  msgIssueRevision  MsgCount,
  layerType         LayerType OPTIONAL,
  layerID           LayerID  OPTIONAL,
  intersections     IntersectionGeometryList OPTIONAL,
  roadSegments      RoadSegmentList OPTIONAL,
  dataParameters    DataParameters OPTIONAL,
  restrictionList   RestrictionClassList OPTIONAL,
  regional          SEQUENCE (SIZE(1..4)) OF
                    RegionalExtension {{Reg-MapData}} OPTIONAL,
  ...
}
```

### <a name="RTCMcorrections"></a>RTCMcorrections
This DF is used to encapsulate RTCM differential corrections for GPS and other radio
 navigation signals as defined by the RTCM (Radio Technical Commission For Maritime Services) special committee
 number 104 in its various standards. Here, in the work of DSRC, these messages are "wrapped" for transport on the
 DSRC media, and then can be re-constructed back into the final expected formats defined by the RTCM standard and
 used directly by various positioning systems to increase the absolute and relative accuracy estimates produced.

Values:
* _msgCnt_ of type [**MsgCount**](#MsgCount) <br>
  monotonic incrementing identifier.

* _rev_ of type [**RTCM-Revision**](#RTCM-Revision) <br>
  the specific edition of the standard that is being sent.

* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)   OPTIONAL<br>
  time reference

* _anchorPoint_ of type [**FullPositionVector**](#FullPositionVector)  OPTIONAL<br>
  Observer position, if needed.

* _rtcmHeader_ of type [**RTCMheader**](#RTCMheader)  OPTIONAL<br>
  Precise antenna position and noise data for a rover

* _msgs_ of type [**RTCMmessageList**](#RTCMmessageList) <br>
  one or more RTCM messages.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-RTCMcorrections}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RTCMcorrections ::= SEQUENCE {
   msgCnt      MsgCount,
   rev         RTCM-Revision,
   timeStamp   MinuteOfTheYear  OPTIONAL,
   anchorPoint FullPositionVector OPTIONAL,
   rtcmHeader  RTCMheader OPTIONAL,
   msgs        RTCMmessageList,
   regional    SEQUENCE (SIZE(1..4)) OF
               RegionalExtension {{Reg-RTCMcorrections}} OPTIONAL,
   ...
}
```

### <a name="SPAT"></a>SPAT
This DF is used to convey the current status of one or more signalized
 intersections. Along with the MapData message (which describes a full geometric layout of an intersection) the
 receiver of this message can determine the state of the signal phasing and when the next expected phase will occur.
 The SPAT message sends the current movement state of each active phase in the system as needed (such as values of
 what states are active and values at what time a state has begun/does begin earliest, is expected to begin most likely and
 will end latest). The state of inactive movements is not normally transmitted. Movements are mapped to specific
 approaches and connections of ingress to egress lanes and by use of the SignalGroupID in the MapData message

 The current signal preemption and priority status values (when present or active) are also sent. A more complete
 summary of any pending priority or preemption events can be found in the Signal Status message.

Values:
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)  OPTIONAL<br>
  time reference

* _name_ of type [**DescriptiveName**](#DescriptiveName)  OPTIONAL<br>
  human readable name for this collection. to be used only in debug mode.

* _intersections_ of type [**IntersectionStateList**](#IntersectionStateList) <br>
  sets of SPAT data (one per intersection)

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-SPAT}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SPAT ::= SEQUENCE {
  timeStamp     MinuteOfTheYear OPTIONAL,
  name          DescriptiveName OPTIONAL,
  intersections IntersectionStateList,
  regional      SEQUENCE (SIZE(1..4)) OF
                RegionalExtension {{Reg-SPAT}} OPTIONAL,
  ...
}
```

### <a name="SignalRequestMessage"></a>SignalRequestMessage
This DF is a message sent by a DSRC equipped entity (such as a vehicle) to the RSU in a
 signalized intersection. It is used for either a priority signal request or a preemption signal request depending on the way
 each request is set. Each request defines a path through the intersection which is desired in terms of lanes and
 approaches to be used. Each request can also contain the time of arrival and the expected duration of the service.
 Multiple requests to multiple intersections are supported. The requestor identifies itself in various ways (using methods
 supported by the RequestorDescription data frame), and its current speed, heading and location can be placed in this
 structure as well. The specific request for service is typically based on previously decoding and examining the list of lanes
 and approaches for that intersection (sent in MAP messages). The outcome of all of the pending requests to a signal can
 be found in the Signal Status Message (SSM), and may be reflected in the SPAT message contents if successful.

Values:
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)   OPTIONAL<br>
  time reference

* _second_ of type [**DSecond**](#DSecond) <br>
  time reference

* _sequenceNumber_ of type [**MsgCount**](#MsgCount)          OPTIONAL<br>
  monotonic incrementing identifier

* _requests_ of type [**SignalRequestList**](#SignalRequestList)  OPTIONAL<br>
  Request Data for one or more signalized intersections that support SRM dialogs

* _requestor_ of type [**RequestorDescription**](#RequestorDescription) <br>
  Requesting Device and other User Data contains vehicle ID (if from a vehicle) as well as type data and current
                     position and may contain additional transit data

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-SignalRequestMessage}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalRequestMessage ::= SEQUENCE {
  timeStamp       MinuteOfTheYear  OPTIONAL,
  second          DSecond,
  sequenceNumber  MsgCount         OPTIONAL,
  requests        SignalRequestList OPTIONAL,
  requestor       RequestorDescription,
  regional        SEQUENCE (SIZE(1..4)) OF
                  RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
  ...
}
```

### <a name="SignalStatusMessage"></a>SignalStatusMessage
This DF is a message sent by an RSU in a signalized intersection. It is used to relate the current
 status of the signal and the collection of pending or active preemption or priority requests acknowledged by the controller.
 It is also used to send information about preemption or priority requests which were denied. This in turn allows a dialog
 acknowledgment mechanism between any requester and the signal controller. The data contained in this message allows
 other users to determine their "ranking" for any request they have made as well as to see the currently active events.
 When there have been no recently received requests for service messages, this message may not be sent. While the
 outcome of all pending requests to a signal can be found in the Signal Status Message, the current active event (if any)
 will be reflected in the SPAT message contents.

Values:
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)   OPTIONAL<br>
  time reference

* _second_ of type [**DSecond**](#DSecond) <br>
  time reference

* _sequenceNumber_ of type [**MsgCount**](#MsgCount)          OPTIONAL<br>
  monotonic incrementing identifier

* _status_ of type [**SignalStatusList**](#SignalStatusList) <br>
  Status Data for one of more signalized intersections.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-SignalStatusMessage}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalStatusMessage ::= SEQUENCE {
  timeStamp       MinuteOfTheYear  OPTIONAL,
  second          DSecond,
  sequenceNumber  MsgCount         OPTIONAL,
  status          SignalStatusList,
  regional        SEQUENCE (SIZE(1..4)) OF
                  RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL,
  ...
}
```

### <a name="AdvisorySpeed"></a>AdvisorySpeed
This DF is used to convey a recommended traveling approach speed to an intersection
 from the message issuer to various travelers and vehicle types. Besides support for various eco-driving applications, this
 allows transmitting recommended speeds for specialty vehicles such as transit buses.

Values:
* _type_ of type [**AdvisorySpeedType**](#AdvisorySpeedType) <br>
  the type of advisory which this is.

* _speed_ of type [**SpeedAdvice**](#SpeedAdvice)  OPTIONAL<br>
  See [**SpeedAdvice**](#SpeedAdvice) for converting and translating speed expressed in mph into units of m/s.
                 This element is optional ONLY when superceded by the presence of a regional speed element found in Reg-AdvisorySpeed entry

* _confidence_ of type [**SpeedConfidenceDSRC**](#SpeedConfidenceDSRC)  OPTIONAL<br>
  A confidence value for the above speed

* _distance_ of type [**ZoneLength**](#ZoneLength)  OPTIONAL<br>
  The distance indicates the region for which the advised speed is recommended, it is specified upstream from the stop bar
                    along the connected egressing lane. Unit = 1 meter 

* _class_ of type [**RestrictionClassID**](#RestrictionClassID)  OPTIONAL<br>
  the vehicle types to which it applies when absent, the AdvisorySpeed applies to all motor vehicle types

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-AdvisorySpeed}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
AdvisorySpeed ::= SEQUENCE {
  type        AdvisorySpeedType,
  speed       SpeedAdvice OPTIONAL,
  confidence  SpeedConfidenceDSRC OPTIONAL,
  distance    ZoneLength OPTIONAL,
  class       RestrictionClassID OPTIONAL,
  regional    SEQUENCE (SIZE(1..4)) OF
              RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
  ...
}
```

### <a name="AdvisorySpeedList"></a>AdvisorySpeedList
This DF consists of a list of [**AdvisorySpeed**](#AdvisorySpeed) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
```

### <a name="AntennaOffsetSet"></a>AntennaOffsetSet
This DF is a collection of three offset values in an orthogonal coordinate system
 which describe how far the electrical phase center of an antenna is in each axis from a nearby known anchor point in units of 1 cm.

 When the antenna being described is on a vehicle, the signed offset shall be in the coordinate system defined in section 11.4.

* _antOffsetX_ of type [**Offset-B12**](#Offset-B12) <br>
  a range of +- 20.47 meters.

* _antOffsetY_ of type [**Offset-B09**](#Offset-B09) <br>
  a range of +- 2.55 meters.

* _antOffsetZ_ of type [**Offset-B10**](#Offset-B10) <br>
  a range of +- 5.11 meters.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
AntennaOffsetSet ::= SEQUENCE {
   antOffsetX  Offset-B12,
   antOffsetY  Offset-B09,
   antOffsetZ  Offset-B10
}
```

### <a name="ComputedLane"></a>ComputedLane
This DE is used to contain information needed to compute one lane from another
 (hence the name). This concept is used purely as a means of saving size in the message payload. The new lane is
 expressed as an X,Y offset from the first point of the source lane. It can be optionally rotated and scaled. Any attribute
 information found within the node of the source lane list cannot be changed and must be reused.

Values:
* _referenceLaneId_ of type [**LaneID**](ETSI-ITS-DSRC.md#LaneID) <br>
  the lane ID upon which this computed lane will be based Lane Offset in X and Y direction

* _offsetXaxis_ of type [**CHOICE**](#CHOICE)  {
                        small   DrivenLineOffsetSm,
                        large   DrivenLineOffsetLg
                        }<br>
  A path X offset value for translations of the path's points when creating translated lanes.

* _offsetYaxis_ of type [**CHOICE**](#CHOICE)  {
                        small   DrivenLineOffsetSm,
                        large   DrivenLineOffsetLg
                        }<br>
  The values found in the reference lane are all offset based on the X and Y values from
                       the coordinates of the reference lane's initial path point.

* _rotateXY_ of type [**Angle**](#Angle)  OPTIONAL<br>
  A path rotation value for the entire lane
                    Observe that this rotates the existing orientation
                    of the referenced lane, it does not replace it.
                    Rotation occurs about the initial path point.

* _scaleXaxis_ of type [**Scale-B12**](#Scale-B12)  OPTIONAL<br>
  value for translations or zooming of the path's points. The values found in the reference lane

* _scaleYaxis_ of type [**Scale-B12**](#Scale-B12)  OPTIONAL<br>
  are all expanded or contracted based on the X and Y and width values from the coordinates of  the reference lane's initial path point.
                      The Z axis remains untouched.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-ComputedLane}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;The specified transformation shall be applied to the reference lane without any intermediary loss of precision
        (truncation). The order of the transformations shall be: the East-West and North-South offsets, the scaling factors, and
        finally the rotation.
>>>

```asn1
ComputedLane ::= SEQUENCE {
  referenceLaneId    LaneID,
  offsetXaxis        CHOICE {
                        small   DrivenLineOffsetSm,
                        large   DrivenLineOffsetLg
                        },
  offsetYaxis        CHOICE {
                        small   DrivenLineOffsetSm,
                        large   DrivenLineOffsetLg
                        },
  rotateXY           Angle OPTIONAL,
  scaleXaxis         Scale-B12 OPTIONAL,
  scaleYaxis         Scale-B12 OPTIONAL,
  regional  SEQUENCE (SIZE(1..4)) OF
            RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
  ...
}
```

### <a name="ConnectsToList"></a>ConnectsToList
This DE is used in the generic lane descriptions to provide a sequence of other defined
 lanes to which each lane connects beyond its stop point. See the Connection data frame entry for details. Note that this
 data frame is not used in some lane object types.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;The assignment of lanes in the Connection structure shall start with the leftmost lane from the vehicle
   perspective (the u-turn lane in some cases) followed by subsequent lanes in a clockwise assignment order. Therefore, the
   rightmost lane to which this lane connects would always be listed last. Note that this order is observed regardless of which
   side of the road vehicles use. If this structure is used in the lane description, then all valid lanes to which the subject lane
   connects shall be listed.
>>>

```asn1
ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
```

### <a name="ConnectingLane"></a>ConnectingLane
The data concept ties a single lane to a single maneuver needed to reach it from another lane.
 It is typically used to connect the allowed maneuver from the end of a lane to the outbound lane so that these can be
 mapped to the SPAT message to which both lanes apply.

* _lane_ of type [**LaneID**](ETSI-ITS-DSRC.md#LaneID) <br>
  Index of the connecting lane.

* _maneuver_ of type [**AllowedManeuvers**](#AllowedManeuvers)  OPTIONAL<br>
  This data element allows only the description of a subset of possible manoeuvres and therefore
      represents an incomplete list of possible travel directions. The connecting `lane` data element gives the
      exact information about the manoeuvre relation from ingress to egress lane. Therefore the "maneuver"
      data element may be used only additionally if the travel direction of the manoeuvre is unanmbigoulsy
      represented (e.g. left, right, straight, etc.).


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
ConnectingLane ::= SEQUENCE {
  lane      LaneID,
  maneuver  AllowedManeuvers OPTIONAL
}
```

### <a name="Connection"></a>Connection
This DF is used to combine/connect multiple physical lanes (i.e. within intersections or road
 segments). For signalized movements, the `connectsTo` data frame defines e.g. the relation between
 ingress and egress lanes within an intersection. It describes the allowed manoeuvres and includes the
 link (`signalGroup` identifier) between the [**MapData**](#MapData) and the [**PAT**](#PAT) message. The data frame is also used
 to describe the relation of lanes within a non signalized intersection (e.g. ingress lanes which are
 bypassing the conflict area and ending in an egress lane without signalization). Within a road segment,
 it is used to combine two or multiple physical lanes into a single lane object.

* _connectingLane_ of type [**ConnectingLane**](#ConnectingLane) <br>
* _remoteIntersection_ of type [**IntersectionReferenceID**](#IntersectionReferenceID)  OPTIONAL<br>
  When the data element `remoteIntersection` is used, it indicates
                              that the connecting lane belongs to another intersection. 
                              (see clause [ISO TS 19091] G.9.1 for further explainations).

* _signalGroup_ of type [**SignalGroupID**](ETSI-ITS-DSRC.md#SignalGroupID)  OPTIONAL<br>
* _userClass_ of type [**RestrictionClassID**](#RestrictionClassID)  OPTIONAL<br>
* _connectionID_ of type [**LaneConnectionID**](ETSI-ITS-DSRC.md#LaneConnectionID)  OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Connection ::= SEQUENCE {
  connectingLane     ConnectingLane,
  remoteIntersection IntersectionReferenceID OPTIONAL,
  signalGroup        SignalGroupID OPTIONAL,
  userClass          RestrictionClassID OPTIONAL,
  connectionID       LaneConnectionID OPTIONAL
}
```

### <a name="ConnectionManeuverAssist"></a>ConnectionManeuverAssist
This DF contains information about the the dynamic flow of traffic for the lane(s)
 and maneuvers in question (as determined by the [**LaneConnectionID**](ETSI-ITS-DSRC.md#LaneConnectionID)). Note that this information can be sent regarding
 any lane-to-lane movement; it need not be limited to the lanes with active (non-red) phases when sent.

Values:
* _connectionID_ of type [**LaneConnectionID**](ETSI-ITS-DSRC.md#LaneConnectionID) <br>
  the common connectionID used by all lanes to which this data applies
                       (this value traces to ConnectsTo entries in lanes)

* _queueLength_ of type [**ZoneLength**](#ZoneLength)  OPTIONAL<br>
  The distance from the stop line to the back edge of the last vehicle in the queue,
                       as measured along the lane center line. (Unit = 1 meter, 0 = no queue)

* _availableStorageLength_ of type [**ZoneLength**](#ZoneLength)  OPTIONAL<br>
  Distance (e.g. beginning from the downstream stop-line up to a given distance) with a high
                       probability for successfully executing the connecting maneuver between the two lanes
                       during the current cycle.
                       Used for enhancing the awareness of vehicles to anticipate if they can pass the stop line
                       of the lane. Used for optimizing the green wave, due to knowledge of vehicles waiting in front
                       of a red light (downstream).
                       The element nextTime in [**TimeChangeDetails**](#TimeChangeDetails) in the containing data frame contains the next
                       timemark at which an active phase is expected, a form of storage flush interval.
                       (Unit = 1 meter, 0 = no space remains)

* _waitOnStop_ of type [**WaitOnStopline**](#WaitOnStopline)  OPTIONAL<br>
  If true, the vehicles on this specific connecting
                       maneuver have to stop on the stop-line and not to enter the collision area

* _pedBicycleDetect_ of type [**PedestrianBicycleDetect**](#PedestrianBicycleDetect)  OPTIONAL<br>
  true if ANY ped or bicycles are detected crossing the above lanes. Set to false ONLY if there is a
                       high certainty that there are none present, otherwise element is not sent.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  This data element includes additional data content [**ConnectionManeuverAssist-addGrpC**](ETSI-ITS-DSRC-AddGrpC.md#ConnectionManeuverAssist-addGrpC) defined in
                       this profile (see [ISO TS 19091] G.5.1.1). The content is included using the regional extension framework as defined in

* **RegionalExtension** {{Reg-ConnectionManeuverAssist}} OPTIONAL<br>
[**ConnectionManeuverAssist-addGrpC**](ETSI-ITS-DSRC-AddGrpC.md#ConnectionManeuverAssist-addGrpC) is used for position feedback to moving ITS stations for executing
                     safe manoeuvres and is included for this purpose in the data element "intersectionState"

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
ConnectionManeuverAssist ::= SEQUENCE {
  connectionID         LaneConnectionID,
  queueLength          ZoneLength OPTIONAL,
  availableStorageLength ZoneLength OPTIONAL,
  waitOnStop           WaitOnStopline OPTIONAL,
  pedBicycleDetect     PedestrianBicycleDetect OPTIONAL,
  regional  SEQUENCE (SIZE(1..4)) OF
            RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
  ...
}
```

### <a name="DataParameters"></a>DataParameters
This DF is used to provide basic (static) information on how a map fragment was processed or determined.

* _processMethod_ of type [**IA5String**](#IA5String) (SIZE(1..255)) OPTIONAL<br>
* _processAgency_ of type [**IA5String**](#IA5String) (SIZE(1..255)) OPTIONAL<br>
* _lastCheckedDate_ of type [**IA5String**](#IA5String) (SIZE(1..255)) OPTIONAL<br>
* _geoidUsed_ of type [**IA5String**](#IA5String) (SIZE(1..255)) OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DataParameters ::= SEQUENCE {
  processMethod     IA5String(SIZE(1..255)) OPTIONAL,
  processAgency     IA5String(SIZE(1..255)) OPTIONAL,
  lastCheckedDate   IA5String(SIZE(1..255)) OPTIONAL,
  geoidUsed         IA5String(SIZE(1..255)) OPTIONAL,
  ...
}
```

### <a name="DDateTime"></a>DDateTime
The DSRC style date is a compound value consisting of finite-length sequences of integers (not characters) of the
 form: "yyyy, mm, dd, hh, mm, ss (sss+)" - as defined below.

* _year_ of type [**DYear**](#DYear)     OPTIONAL<br>
* _month_ of type [**DMonth**](#DMonth)    OPTIONAL<br>
* _day_ of type [**DDay**](#DDay)      OPTIONAL<br>
* _hour_ of type [**DHour**](#DHour)     OPTIONAL<br>
* _minute_ of type [**DMinute**](#DMinute)   OPTIONAL<br>
* _second_ of type [**DSecond**](#DSecond)   OPTIONAL<br>
* _offset_ of type [**DOffset**](#DOffset)   OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Note that some elements of this structure may not be sent when not needed. At least one element shall be present.
>>>

```asn1
DDateTime ::= SEQUENCE {
   year    DYear    OPTIONAL,
   month   DMonth   OPTIONAL,
   day     DDay     OPTIONAL,
   hour    DHour    OPTIONAL,
   minute  DMinute  OPTIONAL,
   second  DSecond  OPTIONAL,
   offset  DOffset  OPTIONAL
 }
```

### <a name="EnabledLaneList"></a>EnabledLaneList
This DF is a sequence of lane IDs for lane objects that are activated in the current map
 configuration. These lanes, unlike most lanes, have their RevocableLane bit set to one (asserted). Such lanes are not
 considered to be part of the current map unless they are in the Enabled Lane List. This concept is used to describe all the
 possible regulatory states for a given physical lane. For example, it is not uncommon to enable or disable the ability to
 make a right hand turn on red during different periods of a day. Another similar example would be a lane which is used for
 driving during one period and where parking is allowed at another. Traditionally, this information is conveyed to the vehicle
 driver by local signage. By using the Enabled Lane List data frame in conjunction with the RevocableLane bit and
 constructing a separate lane object in the intersection map for each different configuration, a single unified map can be
 developed and used.

 Contents are the unique ID numbers for each lane object which is 'active' as part of the dynamic map contents.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID
```

### <a name="FullPositionVector"></a>FullPositionVector
A complete report of the vehicle's position, speed, and heading at an instant in time. Used in the probe vehicle
 message (and elsewhere) as the initial position information. Often followed by other data frames that may provide offset
 path data.

* _utcTime_ of type [**DDateTime**](#DDateTime)  OPTIONAL<br>
  time with mSec precision

* _long_ of type [**Longitude**](ETSI-ITS-CDD.md#Longitude) <br>
  Longitude in 1/10th microdegree

* _lat_ of type [**Latitude**](ETSI-ITS-CDD.md#Latitude) <br>
  Latitude in 1/10th microdegree

* _elevation_ of type [**Elevation**](#Elevation)   OPTIONAL<br>
  Elevation in units of 0.1 m

* _heading_ of type [**HeadingDSRC**](#HeadingDSRC)  OPTIONAL<br>
  Heading value 

* _speed_ of type [**TransmissionAndSpeed**](#TransmissionAndSpeed)  OPTIONAL<br>
  Speed value

* _posAccuracy_ of type [**PositionalAccuracy**](#PositionalAccuracy)  OPTIONAL<br>
  position accuracy

* _timeConfidence_ of type [**TimeConfidence**](#TimeConfidence)  OPTIONAL<br>
  time confidence

* _posConfidence_ of type [**PositionConfidenceSet**](#PositionConfidenceSet)  OPTIONAL<br>
  position confidence

* _speedConfidence_ of type [**SpeedandHeadingandThrottleConfidence**](#SpeedandHeadingandThrottleConfidence)  OPTIONAL<br>
  speed confidence 


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
FullPositionVector ::= SEQUENCE {
   utcTime             DDateTime OPTIONAL,
   long                Longitude,
   lat                 Latitude,
   elevation           Elevation  OPTIONAL,
   heading             HeadingDSRC OPTIONAL,
   speed               TransmissionAndSpeed OPTIONAL,
   posAccuracy         PositionalAccuracy OPTIONAL,
   timeConfidence      TimeConfidence OPTIONAL,
   posConfidence       PositionConfidenceSet OPTIONAL,
   speedConfidence     SpeedandHeadingandThrottleConfidence OPTIONAL,
   ...
}
```

### <a name="GenericLane"></a>GenericLane
This DF is used for all types of lanes, e.g. motorized vehicle lanes, crosswalks, medians. The
 GenericLane describes the basic attribute information of the lane. The LaneID value for each lane is unique within an
 intersection. One use for the LaneID is in the SPAT message, where a given signal or movement phase is mapped to a
 set of applicable lanes using their respective LaneIDs. The NodeList2 data frame includes a sequence of offset points (or
 node points) representing the center line path of the lane. As described in this standard, node points are sets of variable
 sized delta orthogonal offsets from the prior point in the node path. (The initial point is offset from the LLH anchor point
 used in the intersection.) Each node point may convey optional attribute data as well. The use of attributes is described
 further in the Node definition, and in a later clause, but an example use would be to indicate a node point where the lane
 width changes.

 It should be noted that a "lane" is an abstract concept that can describe objects other than motorized vehicle lanes, and
 that the generic lane structure (using features drawn from Japanese usage) also allows combining multiple physical lanes
 into a single lane object. In addition, such lanes can describe connectivity points with other lanes beyond a single
 intersection, extending such a lane description over multiple nearby physical intersections and side streets which
 themselves may not be equipped or assigned an index number in the regional intersection numbering system. (See the
 ConnectsTo entry for details) This has value when describing a broader service area in terms of the roadway network,
 probably with less precision and detail.

Values:
* _laneID_ of type [**LaneID**](ETSI-ITS-DSRC.md#LaneID) <br>
  The unique ID number assigned to this lane object

* _name_ of type [**DescriptiveName**](#DescriptiveName)  OPTIONAL<br>
  often for debug use only but at times used to name ped crossings

* _ingressApproach_ of type [**ApproachID**](#ApproachID)  OPTIONAL<br>
  inbound Approach ID to which this lane belongs

* _egressApproach_ of type [**ApproachID**](#ApproachID)  OPTIONAL<br>
  outbound Approach ID to which this lane belongs

* _laneAttributes_ of type [**LaneAttributes**](#LaneAttributes) <br>
  All Attribute information about the basic selected lane type
                          Directions of use, Geometric co-sharing and Type Specific Attributes
                          These Attributes are 'lane - global' that is, they are true for the entire length of the lane

* _maneuvers_ of type [**AllowedManeuvers**](#AllowedManeuvers)  OPTIONAL<br>
  This data element allows only the description of a subset of possible manoeuvres and therefore
                      reperesents an incomplete list of possible travel directions. The connecting `lane` data element gives
                      the exact information about the manoeuvre relation from ingress to egress lane. Therefore the
                      "maneuver" data element is used only additionally if the travel direction of the manoeuvre is

* _nodeList_ of type [**NodeListXY**](#NodeListXY) <br>
  Lane spatial path information as well as various Attribute information along the node path
                      Attributes found here are more general and may come and go over the length of the lane.

* _connectsTo_ of type [**ConnectsToList**](#ConnectsToList)  OPTIONAL<br>
  a list of other lanes and their signal group IDs each connecting lane and its signal group ID
                      is given, therefore this element provides the information formerly in "signalGroups" in prior editions.

* _overlays_ of type [**OverlayLaneList**](#OverlayLaneList)  OPTIONAL<br>
  A list of any lanes which have spatial paths that overlay (run on top of, and not simply cross)
                      the path of this lane when used

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-GenericLane}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;The data elements `ingressApproach` and `egressApproach` are used for grouping lanes whin an
       approach (e.g. lanes defined in travel direction towards the intersection, lanes in exiting direction and
       cross walks). For a bidirectrional lane (e.g. bike lane) both dataelements are used for the same lane. The
       integer value used for identifying the `ingressApproach` and the `egressAproach`, based on the
       topology, may be e.g. the same for all lanes within an approach of an intersection.
>>>

```asn1
GenericLane ::= SEQUENCE {
  laneID           LaneID,
  name             DescriptiveName OPTIONAL,
  ingressApproach  ApproachID OPTIONAL,
  egressApproach   ApproachID OPTIONAL,
  laneAttributes   LaneAttributes,
  maneuvers        AllowedManeuvers OPTIONAL,
  nodeList         NodeListXY,
  connectsTo       ConnectsToList OPTIONAL,
  overlays         OverlayLaneList OPTIONAL,
  regional  SEQUENCE (SIZE(1..4)) OF
            RegionalExtension {{Reg-GenericLane}} OPTIONAL,
  ...
}
```

### <a name="IntersectionAccessPoint"></a>IntersectionAccessPoint
This DF is used to specify the index of either a single approach or a single lane at
 which a service is needed. This is used, for example, with the Signal Request Message (SRM) to indicate the inbound
 and outbound points by which the requestor (such as a public safety vehicle) can traverse an intersection.

* _lane_ of type [**LaneID**](ETSI-ITS-DSRC.md#LaneID) <br>
  the representation of the point as lane identifier.

* _approach_ of type [**ApproachID**](#ApproachID) <br>
  the representation of the point as approach identifier.

* _connection_ of type [**LaneConnectionID**](ETSI-ITS-DSRC.md#LaneConnectionID) <br>
  the representation of the point as connection identifier.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Note that the value of zero has a reserved meaning for these two indexing systems. In both cases, this value
    is used to indicate the concept of "none" in use. When the value is of zero is used here, it implies the center of the
    intersection itself. For example, requesting an outbound point of zero implies the requestor wishes to have the intersection
    itself be the destination. Alternatively, an inbound value of zero implies the requestor is within the intersection itself and
    wishes to depart for the outbound value provided. This special meaning for the value zero can be used in either the lane
    or approach with the same results.
>>>

```asn1
IntersectionAccessPoint ::= CHOICE {
  lane       LaneID,
  approach   ApproachID,
  connection LaneConnectionID,
  ...
}
```

### <a name="IntersectionGeometry"></a>IntersectionGeometry
A complete description of an intersection's roadway geometry and its allowed navigational paths (independent of
 any additional regulatory restrictions that may apply over time or from user classification).

Values:
* _name_ of type [**DescriptiveName**](#DescriptiveName)  OPTIONAL<br>
  For debug use only

* _id_ of type [**IntersectionReferenceID**](#IntersectionReferenceID) <br>
  A globally unique value set, consisting of a regionID and intersection ID assignment

* _revision_ of type [**MsgCount**](#MsgCount) <br>
  This profile extends the purpose of the `revision` data element as defined in SAE J2735 as follows.
             The revision data element is used to communicate the valid release of the intersection geometry
             description. If there are no changes in the deployed intersection description, the same revision counter
             is transmitted. Due to a revised deployment of the intersection description (e.g. new lane added, ID's
             changed, etc.), the revision is increased by one. After revision equal to 127, the increment restarts by 0.
             The intersection geometry and the signal phase and timing information is related each other. Therefore,
             the revision of the intersection geometry of the MapData message shall be the same as the revision of
             the intersection state of the SPAT (see data element `revision` of `DF_IntersectionState` in [ISO TS 19091] G.8.2.9)

* _refPoint_ of type [**Position3D**](#Position3D) <br>
  The reference from which subsequent data points are offset until a new point is used.

* _laneWidth_ of type [**LaneWidth**](#LaneWidth)  OPTIONAL<br>
  Reference width used by all subsequent lanes unless a new width is given

* _speedLimits_ of type [**SpeedLimitList**](#SpeedLimitList)  OPTIONAL<br>
  Reference regulatory speed limits used by all subsequent lanes unless a new speed is given

* _laneSet_ of type [**LaneList**](#LaneList) <br>
  Data about one or more lanes (all lane data is found here) Data describing how to use and request preemption and
             priority services from this intersection (if supported)

* _preemptPriorityData_ of type [**PreemptPriorityList**](#PreemptPriorityList)  OPTIONAL<br>
  This DF is not used.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-IntersectionGeometry}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
IntersectionGeometry ::= SEQUENCE {
  name        DescriptiveName OPTIONAL,
  id          IntersectionReferenceID,
  revision    MsgCount,
  refPoint    Position3D,
  laneWidth   LaneWidth OPTIONAL,
  speedLimits SpeedLimitList OPTIONAL,
  laneSet     LaneList,
  preemptPriorityData PreemptPriorityList OPTIONAL,
  regional     SEQUENCE (SIZE(1..4)) OF
               RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
  ...
}
```

### <a name="IntersectionGeometryList"></a>IntersectionGeometryList
This DF consists of a list of IntersectionGeometry entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
```

### <a name="IntersectionReferenceID"></a>IntersectionReferenceID
This DF conveys the combination of an optional RoadRegulatorID and of an
 IntersectionID that is unique within that region. When the RoadRegulatorID is present the IntersectionReferenceID is
 guaranteed to be globally unique.

* _region_ of type [**RoadRegulatorID**](#RoadRegulatorID)  OPTIONAL<br>
  a globally unique regional assignment value typical assigned to a regional DOT authority
                  the value zero shall be used for testing needs

* _id_ of type [**IntersectionID**](ETSI-ITS-DSRC.md#IntersectionID) <br>
  a unique mapping to the intersection in question within the above region of use


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;A fully qualified intersection consists of its regionally unique ID (the IntersectionID) and its region ID (the
        RoadRegulatorID). Taken together these form a unique value which is never repeated.
>>>

```asn1
IntersectionReferenceID ::= SEQUENCE {
  region  RoadRegulatorID OPTIONAL,
  id      IntersectionID
}
```

### <a name="IntersectionState"></a>IntersectionState
This DF is used to convey all the SPAT information for a single intersection. Both current
 and future data can be sent.

Values:
* _name_ of type [**DescriptiveName**](#DescriptiveName)  OPTIONAL<br>
  human readable name for intersection to be used only in debug mode

* _id_ of type [**IntersectionReferenceID**](#IntersectionReferenceID) <br>
  A globally unique value set, consisting of a regionID and intersection ID assignment
              provides a unique mapping to the intersection MAP in question which provides complete location
              and approach/move/lane data

* _revision_ of type [**MsgCount**](#MsgCount) <br>
  The data element `revision` is used to communicate the actual valid release of the intersection
                    description. If there are no changes in the deployed intersection description, almost the same revision
                    counter is transmitted. Due to a revised deployment of the intersection description (e.g. introduction of
                    additional signal state element), the revision is increased by one. After revision equal to 127, the
                    increment leads to 0 (due to the element range).
                    The intersection state and the intersection geometry is related to each other. Therefore, the revision of
                    the intersection state shall be the same as the revision of the intersection geometry (see the data
                    element `revision` of `DF_IntersectionGeometry` in [ISO TS 19091] G.8.2.6).

* _status_ of type [**IntersectionStatusObject**](#IntersectionStatusObject) <br>
  general status of the controller(s)

* _moy_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)  OPTIONAL<br>
  Minute of current UTC year, used only with messages to be archived.

* _timeStamp_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
  the mSec point in the current UTC minute that this message was constructed.

* _enabledLanes_ of type [**EnabledLaneList**](#EnabledLaneList)  OPTIONAL<br>
  a list of lanes where the RevocableLane bit has been set which are now active and
                        therefore part of the current intersection

* _states_ of type [**MovementList**](#MovementList) <br>
  Each Movement is given in turn and contains its signal phase state,
                  mapping to the lanes it applies to, and point in time it will end, and it
                  may contain both active and future states

* _maneuverAssistList_ of type [**ManeuverAssistList**](#ManeuverAssistList)  OPTIONAL<br>
  Assist data

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-IntersectionState}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
IntersectionState ::= SEQUENCE {
  name         DescriptiveName OPTIONAL,
  id           IntersectionReferenceID,
  revision     MsgCount,
  status       IntersectionStatusObject,
  moy          MinuteOfTheYear OPTIONAL,
  timeStamp    DSecond OPTIONAL,
  enabledLanes EnabledLaneList OPTIONAL,
  states       MovementList,
  maneuverAssistList  ManeuverAssistList OPTIONAL,
  regional     SEQUENCE (SIZE(1..4)) OF
               RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
  ...
}
```

### <a name="IntersectionStateList"></a>IntersectionStateList
This DF consists of a list of IntersectionState entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF  IntersectionState
```

### <a name="LaneAttributes"></a>LaneAttributes
This DF holds all of the constant attribute information of any lane object (as well as
 denoting the basic lane type itself) within a single structure. Constant attribute information are those values which do not
 change over the path of the lane, such as the direction of allowed travel. Other lane attribute information can change at or
 between each node.
 The structure consists of three element parts as follows: LaneDirection specifies the allowed directions of travel, if any.
 LaneSharing indicates whether this lane type is shared with other types of travel modes or users. The lane type is defined
 in LaneTypeAttributes, along with additional attributes specific to that type.
 The fundamental type of lane object is described by the element selected in the LaneTypeAttributes data concept.
 Additional information specific or unique to a given lane type can be found there as well. A regional extension is provided
 as well.
 Note that combinations of regulatory maneuver information such as "both a left turn and straight ahead movement are
 allowed, but never a u-turn," are expressed by the AllowedManeuvers data concept which typically follows after this
 element and in the same structure. Note that not all lane objects require this information (for example a median). The
 various values are set via bit flags to indicate the assertion of a value. Each defined lane type contains the bit flags
 suitable for its application area.
 Note that the concept of LaneSharing is used to indicate that there are other users of this lane with equal regulatory rights
 to occupy the lane (which is a term this standard does not formally define since it varies by world region). A typical case is
 a light rail vehicle running along the same lane path as motorized traffic. In such a case, motor traffic may be allowed
 equal access to the lane when a train is not present. Another case would be those intersection lanes (at the time of writing
 rather unusual) where bicycle traffic is given full and equal right of way to an entire width of motorized vehicle lane. This
 example would not be a bike lane or bike box in the traditional sense.

* _directionalUse_ of type [**LaneDirection**](#LaneDirection) <br>
  directions of lane use

* _sharedWith_ of type [**LaneSharing**](#LaneSharing) <br>
  co-users of the lane path

* _laneType_ of type [**LaneTypeAttributes**](#LaneTypeAttributes) <br>
  specific lane type data

* _regional_ of type [**RegionalExtension**](#RegionalExtension)  {{Reg-LaneAttributes}} OPTIONAL<br>
  optional region specific data.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes ::= SEQUENCE {
  directionalUse  LaneDirection,
  sharedWith      LaneSharing,
  laneType        LaneTypeAttributes,
  regional        RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
}
```

### <a name="LaneDataAttribute"></a>LaneDataAttribute
This DF is used to relate an attribute and a control value at a node point or along a
 lane segment from an enumerated list of defined choices. It is then followed by a defined data value associated with it and
 which is defined elsewhere in this standard.

Values:
* _pathEndPointAngle_ of type [**DeltaAngle**](#DeltaAngle) <br>
  adjusts final point/width slant of the lane to align with the stop line

* _laneCrownPointCenter_ of type [**RoadwayCrownAngle**](#RoadwayCrownAngle) <br>
  sets the canter of the road bed from centerline point

* _laneCrownPointLeft_ of type [**RoadwayCrownAngle**](#RoadwayCrownAngle) <br>
  sets the canter of the road bed from left edge

* _laneCrownPointRight_ of type [**RoadwayCrownAngle**](#RoadwayCrownAngle) <br>
  sets the canter of the road bed from right edge

* _laneAngle_ of type [**MergeDivergeNodeAngle**](#MergeDivergeNodeAngle) <br>
  the angle or direction of another lane this is required when a merge point angle is required

* _speedLimits_ of type [**SpeedLimitList**](#SpeedLimitList) <br>
  Reference regulatory speed limits used by all segments

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-LaneDataAttribute}}<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;This data concept handles a variety of use case needs with a common and consistent message pattern. The
     typical use of this data concept (and several similar others) is to inject the selected Attribute into the spatial description of
     a lane's center line path (the segment list). In this way, attribute information which is true for a portion of the overall lane
     can be described when needed. This attribute information applies from the node point in the stream of segment data until
     changed again. Denoting the porous aspects of a lane along its path as it merges with another lane would be an example
     of this use case. In this case the start and end node points would be followed by suitable segment attributes. Re-using a
     lane path (previously called a computed lane) is another example. In this case the reference lane to be re-used appears
     as a segment attribute followed by the lane value. It is then followed by one or more segment attributes which relate the
     positional translation factors to be used (offset, rotate, scale) and any further segment attribute changes.
>>>

```asn1
LaneDataAttribute ::= CHOICE {
   pathEndPointAngle        DeltaAngle,
   laneCrownPointCenter     RoadwayCrownAngle,
   laneCrownPointLeft       RoadwayCrownAngle,
   laneCrownPointRight      RoadwayCrownAngle,
   laneAngle                MergeDivergeNodeAngle,
   speedLimits              SpeedLimitList,
   regional  SEQUENCE (SIZE(1..4)) OF
             RegionalExtension {{Reg-LaneDataAttribute}},
   ...
}
```

### <a name="LaneDataAttributeList"></a>LaneDataAttributeList
This DF consists of a list of LaneDataAttribute entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
```

### <a name="LaneList"></a>LaneList
This DF frame consists of a list of GenericLane entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
```

### <a name="LaneSharing"></a>LaneSharing
This DE is used to denote the presence of other user types (travel modes) who have an
 equal right to access and use the lane. There may also be another lane object describing their use of a lane. This data
 concept is used to indicate lanes and/or users that travel along the same path, and not those that simply cross over the
 lane's segments path (such as a pedestrian crosswalk crossing a lane for motor vehicle use). The typical use is to alert
 the user of the MAP data that additional traffic of another mode may be present in the same spatial lane.

 Bits used:
 - 0 - overlappingLaneDescriptionProvided: Assert when another lane object is present to describe the
                                           path of the overlapping shared lane this construct is not used for lane objects which simply cross
 - 1 - multipleLanesTreatedAsOneLane: Assert if the lane object path and width details represents multiple lanes within it
                                      that are not further described Various modes and type of traffic that may share this lane:
 - 2 - otherNonMotorizedTrafficTypes: horse drawn etc.
 - 3 - individualMotorizedVehicleTraffic:
 - 4 - busVehicleTraffic:
 - 5 - taxiVehicleTraffic:
 - 6 - pedestriansTraffic:
 - 7 - cyclistVehicleTraffic:
 - 8 - trackedVehicleTraffic:
 - 9 - pedestrianTraffic:

Values:
* **overlappingLaneDescriptionProvided** (0)<br>
* **multipleLanesTreatedAsOneLane** (1)<br>
* **otherNonMotorizedTrafficTypes** (2)<br>
* **individualMotorizedVehicleTraffic** (3)<br>
* **busVehicleTraffic** (4)<br>
* **taxiVehicleTraffic** (5)<br>
* **pedestriansTraffic** (6)<br>
* **cyclistVehicleTraffic** (7)<br>
* **trackedVehicleTraffic** (8)<br>
* **pedestrianTraffic** (9)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;All zeros would indicate `not shared` and `not overlapping`
>>>

```asn1
LaneSharing ::= BIT STRING {
   overlappingLaneDescriptionProvided  (0),
   multipleLanesTreatedAsOneLane       (1),
   otherNonMotorizedTrafficTypes       (2),
   individualMotorizedVehicleTraffic   (3),
   busVehicleTraffic                   (4),
   taxiVehicleTraffic                  (5),
   pedestriansTraffic                  (6),
   cyclistVehicleTraffic               (7),
   trackedVehicleTraffic               (8),
   pedestrianTraffic                   (9)
} (SIZE (10))
```

### <a name="LaneTypeAttributes"></a>LaneTypeAttributes
This DF is used to hold attribute information specific to a given lane type. It is typically
 used in the DE_LaneAttributes data frame as part of an overall description of a lane object. Information unique to the
 specific type of lane is found here. Information common to lanes is expressed in other entries. The various values are set
 by bit flags to indicate the assertion of a value. Each defined lane type contains bit flags suitable for its application area.

* _vehicle_ of type [**LaneAttributes-Vehicle**](#LaneAttributes-Vehicle) <br>
  motor vehicle lanes

* _crosswalk_ of type [**LaneAttributes-Crosswalk**](#LaneAttributes-Crosswalk) <br>
  pedestrian crosswalks

* _bikeLane_ of type [**LaneAttributes-Bike**](#LaneAttributes-Bike) <br>
  bike lanes

* _sidewalk_ of type [**LaneAttributes-Sidewalk**](#LaneAttributes-Sidewalk) <br>
  pedestrian sidewalk paths

* _median_ of type [**LaneAttributes-Barrier**](#LaneAttributes-Barrier) <br>
  medians & channelization

* _striping_ of type [**LaneAttributes-Striping**](#LaneAttributes-Striping) <br>
  roadway markings

* _trackedVehicle_ of type [**LaneAttributes-TrackedVehicle**](#LaneAttributes-TrackedVehicle) <br>
  trains and trolleys

* _parking_ of type [**LaneAttributes-Parking**](#LaneAttributes-Parking) <br>
  parking and stopping lanes


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneTypeAttributes ::= CHOICE {
  vehicle        LaneAttributes-Vehicle,
  crosswalk      LaneAttributes-Crosswalk,
  bikeLane       LaneAttributes-Bike,
  sidewalk       LaneAttributes-Sidewalk,
  median         LaneAttributes-Barrier,
  striping       LaneAttributes-Striping,
  trackedVehicle LaneAttributes-TrackedVehicle,
  parking        LaneAttributes-Parking,
  ...
}
```

### <a name="ManeuverAssistList"></a>ManeuverAssistList
This DF consists of a list of [**ConnectionManeuverAssist**](#ConnectionManeuverAssist) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
```

### <a name="MovementEvent"></a>MovementEvent
This DF contains details about a single movement. It is used by the movement state to
 convey one of number of movements (typically occurring over a sequence of times) for a SignalGroupID.

Values:
* _eventState_ of type [**MovementPhaseState**](#MovementPhaseState) <br>
  Consisting of: Phase state (the basic 11 states), Directional, protected, or permissive state

* _timing_ of type [**TimeChangeDetails**](#TimeChangeDetails)  OPTIONAL<br>
  Timing Data in UTC time stamps for event includes start and min/max end times of phase confidence and estimated next occurrence

* _speeds_ of type [**AdvisorySpeedList**](#AdvisorySpeedList)  OPTIONAL<br>
  various speed advisories for use by general and specific types of vehicles supporting green-wave and other flow needs

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-MovementEvent}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
MovementEvent ::= SEQUENCE {
  eventState   MovementPhaseState,
  timing       TimeChangeDetails OPTIONAL,
  speeds       AdvisorySpeedList OPTIONAL,
  regional     SEQUENCE (SIZE(1..4)) OF
               RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
  ...
}
```

### <a name="MovementEventList"></a>MovementEventList
This DF consists of a list of [**MovementEvent**](#MovementEvent) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
```

### <a name="MovementList"></a>MovementList
This DF consists of a list of [**MovementState**](#MovementState) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
```

### <a name="MovementState"></a>MovementState
This DF is used to convey various information about the current or future movement state of
 a designated collection of one or more lanes of a common type. This is referred to as the GroupID. Note that lane object
 types supported include both motorized vehicle lanes as well as pedestrian lanes and dedicated rail and transit lanes. Of
 the reported data elements, the time to change (the time remaining in the current state) is often of the most value. Lanes
 with a common state (typically adjacent sets of lanes in an approach) in a signalized intersection will have individual lane
 values such as total vehicle counts, summed. It is used in the SPAT message to convey every active movement in a
 given intersection so that vehicles, when combined with certain map information, can determine the state of the signal phases.

Values:
* _movementName_ of type [**DescriptiveName**](#DescriptiveName)  OPTIONAL<br>
  uniquely defines movement by name human readable name for intersection to be used only in debug mode.

* _signalGroup_ of type [**SignalGroupID**](ETSI-ITS-DSRC.md#SignalGroupID) <br>
  is used to map to lists of lanes (and their descriptions) which this MovementState data applies to.

* _state-time-speed_ of type [**MovementEventList**](#MovementEventList) <br>
  Consisting of sets of movement data with [**SignalPhaseState**](#SignalPhaseState), [**TimeChangeDetail**](#TimeChangeDetail) and [**AdvisorySpeed**](#AdvisorySpeed)
                            *Note:* one or more of the movement events may be for a future time and that this allows conveying multiple
                            predictive phase and movement timing for various uses for the current signal group.

* _maneuverAssistList_ of type [**ManeuverAssistList**](#ManeuverAssistList)  OPTIONAL<br>
  This information may also be placed in the [**IntersectionState**](#IntersectionState) when common information applies to different lanes in the same way

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-MovementState}} OPTIONAL<br>
In use, the [**SignalGroupID**](ETSI-ITS-DSRC.md#SignalGroupID) element is matched to lanes that are members of that ID. The type of lane (vehicle, crosswalk,
      etc.) is known by the lane description as well as its allowed maneuvers and any vehicle class restrictions. Every lane type
      is treated the same way (cross walks map to suitable meanings, etc.). Lane objects which are not part of the sequence of
      signalized lanes do not appear in any GroupID. The visual details of how a given signal phase is presented to a mobile
      user will vary based on lane type and with regional conventions. Not all signal states will be used in all regional
      deployments. For example, a pre-green visual indication is not generally found in US deployments. Under such operating
      conditions, the unused phase states are simply skipped.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Note that the value given for the time to change will vary in many actuated signalized intersections based on
      the sensor data received during the phase. The data transmitted always reflects the then most current timemark value
      (which is the point in UTC time when the change will occur). As an example, in a phase which may vary from 15 to 25
      seconds of duration based on observed traffic flows, a time to change value of 15 seconds in the future might be
      transmitted for many consecutive seconds (and the time mark value extended for as much as 10 seconds depending on
      the extension time logic used by the controller before it either times out or gaps out), followed by a final time mark value
      reflecting the decreasing values as the time runs out, presuming the value was not again extended to a new time mark
      due to other detection events. The time to change element can therefore generally be regarded as a guaranteed minimum
      value of the time that will elapse unless a preemption event occurs.
>>>

```asn1
MovementState ::= SEQUENCE {
  movementName       DescriptiveName OPTIONAL,
  signalGroup        SignalGroupID,
  state-time-speed   MovementEventList,
  maneuverAssistList ManeuverAssistList OPTIONAL,
  regional           SEQUENCE (SIZE(1..4)) OF
                     RegionalExtension {{Reg-MovementState}} OPTIONAL,
  ...
}
```

### <a name="NodeAttributeSetXY"></a>NodeAttributeSetXY
All the node attributes defined in this DF are valid in the direction of
 node declaration and not in driving direction (i.e. along the sequence of the declared nodes). E.g. node
 attributes of an `ingress` or an `egress` lane are defined from the conflict area (first node) to the
 outside of the intersection (last node). Node attributes with âleftâ and ârightâ in their name are also
 defined in the direction of the node declaration. This allows using attributes in a unambigious way also
 for lanes with biderctional driving. See the following attribuets examples for additianl explanations.

Values:
* _localNode_ of type [**NodeAttributeXYList**](#NodeAttributeXYList)  OPTIONAL<br>
  Attribute states which pertain to this node point

* _disabled_ of type [**SegmentAttributeXYList**](#SegmentAttributeXYList)  OPTIONAL<br>
  Attribute states which are disabled at this node point

* _enabled_ of type [**SegmentAttributeXYList**](#SegmentAttributeXYList)  OPTIONAL<br>
  Attribute states which are enabled at this node point and which remain enabled until disabled or the lane ends

* _data_ of type [**LaneDataAttributeList**](#LaneDataAttributeList)  OPTIONAL<br>
  Attributes which require an additional data values some of these are local to the node point, while others
                persist with the provided values until changed and this is indicated in each entry

* _dWidth_ of type [**Offset-B10**](#Offset-B10)  OPTIONAL<br>
  A value added to the current lane width at this node and from this node onwards, in 1cm steps
                 lane width between nodes are a linear taper between pts the value of zero shall not be sent here.

* _dElevation_ of type [**Offset-B10**](#Offset-B10)  OPTIONAL<br>
  A value added to the current Elevation at this node from this node onwards, in 10cm steps
                      elevations between nodes are a linear taper between pts the value of zero shall not be sent here

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-NodeAttributeSetXY}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
NodeAttributeSetXY ::= SEQUENCE {
  localNode    NodeAttributeXYList OPTIONAL,
  disabled     SegmentAttributeXYList OPTIONAL,
  enabled      SegmentAttributeXYList OPTIONAL,
  data         LaneDataAttributeList OPTIONAL,
  dWidth       Offset-B10 OPTIONAL,
  dElevation   Offset-B10 OPTIONAL,
  regional     SEQUENCE (SIZE(1..4)) OF
               RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
  ...
}
```

### <a name="NodeAttributeXY"></a>NodeAttributeXY
This DE is an enumerated list of attributes which can pertain to the current node
 point. The 'scope' of these values is limited to the node itself. That is, unlike other types of attributes which can be
 switched on or off at any given node (and hence pertains to one or more segments), the DE_NodeAttribute is local to the
 node in which it is found. These attributes are all binary flags in that they do not need to convey any additional data. Other
 attributes allow sending short data values to reflect a setting which is set and persists in a similar fashion.

  - reserved:             do not use
  - stopLine:             point where a mid-path stop line exists. See also 'do not block' for segments
  - roundedCapStyleA:     Used to control final path rounded end shape with edge of curve at final point in a circle
  - roundedCapStyleB:     Used to control final path rounded end shape with edge of curve extending 50% of width past final point in a circle
  - mergePoint:           merge with 1 or more lanes
  - divergePoint:         diverge with 1 or more lanes
  - downstreamStopLine:   downstream intersection (a 2nd intersection) stop line
  - downstreamStartNode:  downstream intersection (a 2nd intersection) start node
  - closedToTraffic:      where a pedestrian may NOT go to be used during construction events
  - safeIsland:           a pedestrian safe stopping point also called a traffic island
                          This usage described a point feature on a path, other entries can describe a path
  - curbPresentAtStepOff: the sidewalk to street curb is NOT angled where it meets the edge of the roadway (user must step up/down)
  - hydrantPresent:       Or other services access

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;See usage examples in [ISO TS 19091] G.8.2.8
>>>

```asn1
NodeAttributeXY ::= ENUMERATED {
  reserved,
  stopLine,
  roundedCapStyleA,
  roundedCapStyleB,
  mergePoint,
  divergePoint,
  downstreamStopLine,
  downstreamStartNode,
  closedToTraffic,
  safeIsland,
  curbPresentAtStepOff,
  hydrantPresent,
  ...
}
```

### <a name="NodeAttributeXYList"></a>NodeAttributeXYList
This DF consists of a list of [**NodeAttributeXY**](#NodeAttributeXY) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
```

### <a name="Node-LLmD-64b"></a>Node-LLmD-64b
A 64-bit node type with lat-long values expressed in one tenth of a micro degree.

* _lon_ of type [**Longitude**](ETSI-ITS-CDD.md#Longitude) <br>
* _lat_ of type [**Latitude**](ETSI-ITS-CDD.md#Latitude) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Node-LLmD-64b ::= SEQUENCE {
  lon  Longitude,
  lat  Latitude
}
```

### <a name="Node-XY-20b"></a>Node-XY-20b
A 20-bit node type with offset values from the last point in X and Y.

* _x_ of type [**Offset-B10**](#Offset-B10) <br>
* _y_ of type [**Offset-B10**](#Offset-B10) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Node-XY-20b ::= SEQUENCE {
  x  Offset-B10,
  y  Offset-B10
}
```

### <a name="Node-XY-22b"></a>Node-XY-22b
A 22-bit node type with offset values from the last point in X and Y.

* _x_ of type [**Offset-B11**](#Offset-B11) <br>
* _y_ of type [**Offset-B11**](#Offset-B11) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Node-XY-22b ::= SEQUENCE {
  x  Offset-B11,
  y  Offset-B11
}
```

### <a name="Node-XY-24b"></a>Node-XY-24b
A 24-bit node type with offset values from the last point in X and Y.

* _x_ of type [**Offset-B12**](#Offset-B12) <br>
* _y_ of type [**Offset-B12**](#Offset-B12) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Node-XY-24b ::= SEQUENCE {
  x  Offset-B12,
  y  Offset-B12
}
```

### <a name="Node-XY-26b"></a>Node-XY-26b
A 26-bit node type with offset values from the last point in X and Y.

* _x_ of type [**Offset-B13**](#Offset-B13) <br>
* _y_ of type [**Offset-B13**](#Offset-B13) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Node-XY-26b ::= SEQUENCE {
  x  Offset-B13,
  y  Offset-B13
}
```

### <a name="Node-XY-28b"></a>Node-XY-28b
A 28-bit node type with offset values from the last point in X and Y.

* _x_ of type [**Offset-B14**](#Offset-B14) <br>
* _y_ of type [**Offset-B14**](#Offset-B14) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Node-XY-28b ::= SEQUENCE {
  x  Offset-B14,
  y  Offset-B14
}
```

### <a name="Node-XY-32b"></a>Node-XY-32b
A 32-bit node type with offset values from the last point in X and Y.

* _x_ of type [**Offset-B16**](#Offset-B16) <br>
* _y_ of type [**Offset-B16**](#Offset-B16) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Node-XY-32b ::= SEQUENCE {
  x  Offset-B16,
  y  Offset-B16
}
```

### <a name="NodeListXY"></a>NodeListXY
This DF provides the sequence of signed offset node point values for determining the Xs and Ys
 (and possibly Width or Zs when present), using the then current Position3D object to build a path for the centerline of
 the subject lane type. Each X,Y point is referred to as a Node Point. The straight line paths between these points are
 referred to as Segments.
 All nodes may have various optional attributes the state of which can vary along the path and which are enabled and
 disabled by the sequence of objects found in the list of node structures. Refer to the explanatory text in Section 11 for a
 description of how to correctly encode and decode this type of the data element. As a simple example, a motor vehicle
 lane may have a section of the overall lane path marked "do not block", indicating that vehicles should not come to a stop
 and remain in that region. This is encoded in the Node data structures by an element in one node to indicate the start of
 the "do not block" lane attributes at a given offset, and then by a termination element when this attribute is set false. Other
 types of elements in the segment choice allow inserting attributes containing data values affecting the segment or the
 node.

* _nodes_ of type [**NodeSetXY**](ETSI-ITS-DSRC.md#NodeSetXY) <br>
  a lane made up of two or more XY node points and any attributes defined in those nodes

* _computed_ of type [**ComputedLane**](#ComputedLane) <br>
  a lane path computed by translating the data defined by another lane


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
NodeListXY ::= CHOICE {
  nodes     NodeSetXY,
  computed  ComputedLane,
  ...
}
```

### <a name="NodeOffsetPointXY"></a>NodeOffsetPointXY
This DF presents a structure to hold different sized data frames for a single node
 point in a lane. Nodes are described in terms of X and Y offsets in units of 1 centimeter (when zoom is 1:1). Changes in
 elevation and in the lane width can be expressed in a similar way with the optional Attributes data entry which appears
 alongside the NodeOffsetPoint in use.

 The choice of which node type is driven by the magnitude (size) of the offset data to be encoded. When the distance from
 the last node point is smaller, the smaller entries can (and should) be chosen
 Each single selected node is computed as an X and Y offset from the prior node point unless one of the entries reflecting
 a complete lat-long representation is selected. In this case, subsequent entries become offsets from that point. This ability
 was added for assistance with the development, storage, and back office exchange of messages where message size is
 not a concern and should not be sent over the air due to its additional message payload size.

 The general usage guidance is to construct the content of each lane node point with the smallest possible element to
 conserve message size. However, using an element which is larger than needed is not a violation of the ASN.1 rules.

* _node-XY1_ of type [**Node-XY-20b**](#Node-XY-20b) <br>
  node is within 5.11m of last node

* _node-XY2_ of type [**Node-XY-22b**](#Node-XY-22b) <br>
  node is within 10.23m of last node

* _node-XY3_ of type [**Node-XY-24b**](#Node-XY-24b) <br>
  node is within 20.47m of last node

* _node-XY4_ of type [**Node-XY-26b**](#Node-XY-26b) <br>
  node is within 40.96m of last node

* _node-XY5_ of type [**Node-XY-28b**](#Node-XY-28b) <br>
  node is within 81.91m of last node

* _node-XY6_ of type [**Node-XY-32b**](#Node-XY-32b) <br>
  node is within 327.67m of last node

* _node-LatLon_ of type [**Node-LLmD-64b**](#Node-LLmD-64b) <br>
  node is a full 32b Lat/Lon range

* regional<br>
  optional region specific data.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
NodeOffsetPointXY ::= CHOICE {
  node-XY1         Node-XY-20b,
  node-XY2         Node-XY-22b,
  node-XY3         Node-XY-24b,
  node-XY4         Node-XY-26b,
  node-XY5         Node-XY-28b,
  node-XY6         Node-XY-32b,
  node-LatLon      Node-LLmD-64b,
  regional         RegionalExtension {{Reg-NodeOffsetPointXY}}
}
```

### <a name="NodeXY"></a>NodeXY
This DF presents a structure to hold data for a single node point in a path. Each selected node
 has an X and Y offset from the prior node point (or a complete lat-long representation in some cases) as well as optional
 attribute information. The node list for a lane (or other object) is made up of a sequence of these to describe the desired
 path. The X,Y points are selected to reflect the centerline of the path with sufficient accuracy for the intended applications.
 Simple lanes can be adequately described with only two node points, while lanes with curvature may require more points.
 Changes to the lane width and elevation can be expressed in the NodeAttributes entry, as well as various attributes that
 pertain to either the current node point or to one of more subsequent segments along the list of lane node points. As a
 broad concept, NodeAttributes are used to describe aspects of the lane that persist for only a portion of the overall lane
 path (either at a node or over a set of segments).
 A further description of the use of the NodeOffsetPoint and the Attributes data concepts can be found in the data
 dictionary entries for each one. Note that each allows regional variants to be supported as well.

* _delta_ of type [**NodeOffsetPointXY**](ETSI-ITS-DSRC.md#NodeOffsetPointXY) <br>
  A choice of which X,Y offset value to use this includes various delta values as well a regional choices.

* _attributes_ of type [**NodeAttributeSetXY**](#NodeAttributeSetXY)  OPTIONAL<br>
  Any optional Attributes which are needed. This includes changes to the current lane width and elevation.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
NodeXY ::= SEQUENCE {
  delta       NodeOffsetPointXY,
  attributes  NodeAttributeSetXY OPTIONAL,
  ...
}
```

### <a name="NodeSetXY"></a>NodeSetXY
This DF consists of a list of Node entries using XY offsets.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
```

### <a name="OverlayLaneList"></a>OverlayLaneList
This DF is a sequence of lane IDs which refers to lane objects that overlap or overlay the current lane's spatial path.

 Contains the unique ID numbers for any lane object which have spatial paths that overlay (run on top of, and not
 simply cross with) the current lane.
 Such as a train path that overlays a motor vehicle lane object for a roadway segment.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
```

### <a name="PositionalAccuracy"></a>PositionalAccuracy
This DF consists of various parameters of quality used to model the accuracy of the
 positional determination with respect to each given axis.

* _semiMajor_ of type [**SemiMajorAxisAccuracy**](#SemiMajorAxisAccuracy) <br>
* _semiMinor_ of type [**SemiMinorAxisAccuracy**](#SemiMinorAxisAccuracy) <br>
* _orientation_ of type [**SemiMajorAxisOrientation**](#SemiMajorAxisOrientation) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
PositionalAccuracy ::= SEQUENCE {
   semiMajor     SemiMajorAxisAccuracy,
   semiMinor     SemiMinorAxisAccuracy,
   orientation   SemiMajorAxisOrientation
}
```

### <a name="PositionConfidenceSet"></a>PositionConfidenceSet
This DF combines multiple related bit fields into a single concept.

* _pos_ of type [**PositionConfidence**](#PositionConfidence) <br>
  confidence for both horizontal directions

* _elevation_ of type [**ElevationConfidence**](#ElevationConfidence) <br>
  confidence for vertical direction


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
PositionConfidenceSet ::= SEQUENCE {
   pos        PositionConfidence,
   elevation  ElevationConfidence
}
```

### <a name="Position3D"></a>Position3D
This DF provides a precise location in the WGS-84 coordinate system, from which short
 offsets may be used to create additional data using a flat earth projection centered on this location. Position3D is typically
 used in the description of maps and intersections, as well as signs and traveler data.

Values:
* _lat_ of type [**Latitude**](ETSI-ITS-CDD.md#Latitude) <br>
  Latitude in 1/10th microdegrees

* _long_ of type [**Longitude**](ETSI-ITS-CDD.md#Longitude) <br>
  Longitude in 1/10th microdegrees

* _elevation_ of type [**Elevation**](#Elevation)   OPTIONAL<br>
  The elevation information is defined by the regional extension (see module ETSI-ITS-DSRC-AddGrpC). 
                     Therefore, the `elevation` data element of `DF_Position3D` is not used.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-Position3D}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Position3D ::= SEQUENCE {
  lat        Latitude,
  long       Longitude,
  elevation  Elevation  OPTIONAL,
  regional   SEQUENCE (SIZE(1..4)) OF
             RegionalExtension {{Reg-Position3D}} OPTIONAL,
  ...
}
```

### <a name="PreemptPriorityList"></a>PreemptPriorityList
This DF consists of a list of RegionalSignalControlZone entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
```

### <a name="RegulatorySpeedLimit"></a>RegulatorySpeedLimit
This DF is used to convey a regulatory speed about a lane, lanes, or roadway segment.

* _type_ of type [**SpeedLimitType**](#SpeedLimitType) <br>
  The type of regulatory speed which follows

* _speed_ of type [**Velocity**](#Velocity) <br>
  The speed in units of 0.02 m/s


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RegulatorySpeedLimit ::= SEQUENCE {
  type        SpeedLimitType,
  speed       Velocity
}
```

### <a name="RequestorDescription"></a>RequestorDescription
This DF is used to provide identity information about a selected vehicle or users.
 This data frame is typically used with fleet type vehicles which can (or which must) safely release such information for use
 with probe measurements or with other interactions (such as a signal request).

Values:
* _id_ of type [**VehicleID**](#VehicleID) <br>
  The ID used in the CAM of the requestor. This ID is presumed not to change during the exchange.

* _type_ of type [**RequestorType**](#RequestorType)  OPTIONAL<br>
  Information regarding all type and class data about the requesting vehicle

* _position_ of type [**RequestorPositionVector**](#RequestorPositionVector)  OPTIONAL<br>
  The location of the requesting vehicle

* _name_ of type [**DescriptiveName**](#DescriptiveName)  OPTIONAL<br>
  A human readable name for debugging use

* _routeName_ of type [**DescriptiveName**](#DescriptiveName)  OPTIONAL<br>
  A string for transit operations use

* _transitStatus_ of type [**TransitVehicleStatus**](#TransitVehicleStatus)  OPTIONAL<br>
  current vehicle state (loading, etc.)

* _transitOccupancy_ of type [**TransitVehicleOccupancy**](#TransitVehicleOccupancy)  OPTIONAL<br>
  current vehicle occupancy

* _transitSchedule_ of type [**DeltaTime**](ETSI-ITS-DSRC.md#DeltaTime)  OPTIONAL<br>
  current vehicle schedule adherence

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-RequestorDescription}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Note that the requestor description elements which are used when the request (the req) is made differ from
        those used when the status of an active or pending request is reported (the ack). Typically, when reporting the status to
        other parties, less information is required and only the temporaryID (contained in the VehicleID) and request number (a
        unique ID used in the orginal request) are used.
>>>

```asn1
RequestorDescription ::= SEQUENCE {
  id                VehicleID,
  type              RequestorType OPTIONAL,
  position          RequestorPositionVector OPTIONAL,
  name              DescriptiveName OPTIONAL,
  routeName         DescriptiveName OPTIONAL,
  transitStatus     TransitVehicleStatus OPTIONAL,
  transitOccupancy  TransitVehicleOccupancy OPTIONAL,
  transitSchedule   DeltaTime OPTIONAL,
  regional          SEQUENCE (SIZE(1..4)) OF
                    RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
  ...
}
```

### <a name="RequestorPositionVector"></a>RequestorPositionVector
This DF provides a report of the requestor's position, speed, and heading.
 Used by a vehicle or other type of user to request services and at other times when the larger FullPositionVector is not required.

* _position_ of type [**Position3D**](#Position3D) <br>
* _heading_ of type [**Angle**](#Angle)  OPTIONAL<br>
* _speed_ of type [**TransmissionAndSpeed**](#TransmissionAndSpeed)  OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RequestorPositionVector ::= SEQUENCE {
  position           Position3D,
  heading            Angle OPTIONAL,
  speed              TransmissionAndSpeed OPTIONAL,
  ...
}
```

### <a name="RequestorType"></a>RequestorType
This DF is used when a DSRC-equipped device is requesting service from another
 device. The most common use case is when a vehicle is requesting a signal preemption or priority service call from the
 signal controller in an intersection. This data frame provides the details of the requestor class taxonomy required to
 support the request. Depending on the precise use case and the local implementation, these details can vary
 considerably. As a result, besides the basic role of the vehicle, the other classification systems supported are optional. It
 should also be observed that often only a subset of the information in the RequestorType data frame is used to report the
 "results" of such a request to others. As an example, a police vehicle might request service based on being in a police
 vehicle role (and any further sub-type if required) and on the type of service call to which the vehicle is then responding
 (perhaps a greater degree of emergency than another type of call), placing these information elements in the
 RequestorType, which is then part of the Signal Request Message (SRM). This allows the roadway operator to define
 suitable business rules regarding how to reply. When informing the requestor and other nearby drivers of the outcome,
 using the Signal Status Message (SSM) message, only the fact that the preemption was granted or denied to some
 vehicle with a unique request ID is conveyed.

* _role_ of type [**BasicVehicleRole**](#BasicVehicleRole) <br>
  Basic role of this user at this time.

* _subrole_ of type [**RequestSubRole**](#RequestSubRole)  OPTIONAL<br>
  A local list with role based items.

* _request_ of type [**RequestImportanceLevel**](#RequestImportanceLevel)  OPTIONAL<br>
  A local list with request items

* _iso3883_ of type [**Iso3833VehicleType**](ETSI-ITS-CDD.md#Iso3833VehicleType)  OPTIONAL<br>
  Additional classification details

* _hpmsType_ of type [**VehicleType**](#VehicleType)  OPTIONAL<br>
  HPMS classification types

* _regional_ of type [**RegionalExtension**](#RegionalExtension)  {{Reg-RequestorType}} OPTIONAL<br>
  optional region specific data.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RequestorType ::= SEQUENCE {
  role         BasicVehicleRole,
  subrole      RequestSubRole OPTIONAL,
  request      RequestImportanceLevel OPTIONAL,
  iso3883      Iso3833VehicleType OPTIONAL,
  hpmsType     VehicleType OPTIONAL,
  regional     RegionalExtension {{Reg-RequestorType}} OPTIONAL,
  ...
}
```

### <a name="RestrictionClassAssignment"></a>RestrictionClassAssignment
This DF is used to assign (or bind) a single RestrictionClassID data
 element to a list of all user classes to which it applies. A collection of these bindings is conveyed in the
 RestrictionClassList data frame in the MAP message to travelers. The established index is then used in the lane object of
 the MAP message, in the ConnectTo data frame, to qualify to whom a signal group ID applies when it is sent by the SPAT
 message about a movement.

* _id_ of type [**RestrictionClassID**](#RestrictionClassID) <br>
  the unique value (within an intersection or local region) that is assigned to this group of users.

* _users_ of type [**RestrictionUserTypeList**](#RestrictionUserTypeList) <br>
  The list of user types/classes to which this restriction ID applies.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RestrictionClassAssignment ::= SEQUENCE {
  id       RestrictionClassID,
  users    RestrictionUserTypeList
}
```

### <a name="RestrictionClassList"></a>RestrictionClassList
This DF is used to enumerate a list of user classes which belong to a given
 assigned index. The resulting collection is treated as a group by the signal controller when it issues movement data
 (signal phase information) with the GroupID for this group. This data frame is typically static for long periods of time
 (months) and conveyed to the user by means of the MAP message.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;The overall restriction class assignment process allows dynamic support within the framework of the common
        message set for the various special cases that some signalized intersections must support. While the assigned value
        needs to be unique only within the scope of the intersection that uses it, the resulting assignment lists will tend to be static
        and stable for regional deployment areas such as a metropolitan area based on their operational practices and needs.
>>>

```asn1
RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
```

### <a name="RestrictionUserType"></a>RestrictionUserType
This DF is used to provide a means to select one, and only one, user type or class
 from a number of well-known lists. The selected entry is then used in the overall Restriction Class assignment process to
 indicate that a given GroupID (a way of expressing a movement in the SPAT/MAP system) applies to (is restricted to) this
 class of user.

Values:
* _basicType_ of type [**RestrictionAppliesTo**](#RestrictionAppliesTo) <br>
  a set of the most commonly used types.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-RestrictionUserType}}<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RestrictionUserType ::= CHOICE {
  basicType   RestrictionAppliesTo,
  regional    SEQUENCE (SIZE(1..4)) OF
              RegionalExtension {{Reg-RestrictionUserType}},
  ...
}
```

### <a name="RestrictionUserTypeList"></a>RestrictionUserTypeList
This DF consists of a list of [**RestrictionUserType**](#RestrictionUserType) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF  RestrictionUserType
```

### <a name="RoadLaneSetList"></a>RoadLaneSetList
This DF consists of a list of GenericLane entries used to describe a segment of roadway.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
```

### <a name="RoadSegmentReferenceID"></a>RoadSegmentReferenceID
This DF is used to convey theRoadSegmentID which is unique to a given road segment of interest,
 and also the RoadRegulatorID assigned to the region in which it is operating (when required).

* _region_ of type [**RoadRegulatorID**](#RoadRegulatorID)  OPTIONAL<br>
  a globally unique regional assignment value typically assigned to a regional DOT authority the value zero shall be used for testing needs.

* _id_ of type [**RoadSegmentID**](#RoadSegmentID) <br>
  a unique mapping to the road segment in question within the above region of use during its period of assignment and use
                  note that unlike intersectionID values, this value can be reused by the region.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RoadSegmentReferenceID ::= SEQUENCE {
  region  RoadRegulatorID OPTIONAL,
  id      RoadSegmentID
}
```

### <a name="RoadSegment"></a>RoadSegment
This DF is a complete description of a RoadSegment including its geometry and its
 allowed navigational paths (independent of any additional regulatory restrictions that may apply over time or from user
 classification) and any current disruptions such as a work zone or incident event.

Values:
* _name_ of type [**DescriptiveName**](#DescriptiveName)  OPTIONAL<br>
  some descriptive text.

* _id_ of type [**RoadSegmentReferenceID**](#RoadSegmentReferenceID) <br>
  a globally unique value for the segment.

* _revision_ of type [**MsgCount**](#MsgCount) <br>
  .

* _refPoint_ of type [**Position3D**](#Position3D) <br>
  the reference from which subsequent data points are offset until a new point is used.

* _laneWidth_ of type [**LaneWidth**](#LaneWidth)  OPTIONAL<br>
  Reference width used by all subsequent lanes unless a new width is given.

* _speedLimits_ of type [**SpeedLimitList**](#SpeedLimitList)  OPTIONAL<br>
  Reference regulatory speed limits used by all subsequent lanes unless a new speed is given.

* _roadLaneSet_ of type [**RoadLaneSetList**](#RoadLaneSetList) <br>
  Data describing disruptions in the RoadSegment such as work zones etc will be added here.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-RoadSegment}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RoadSegment ::= SEQUENCE {
  name        DescriptiveName OPTIONAL,
  id          RoadSegmentReferenceID,
  revision    MsgCount,
  refPoint    Position3D,
  laneWidth   LaneWidth OPTIONAL,
  speedLimits SpeedLimitList OPTIONAL,
  roadLaneSet RoadLaneSetList,
  regional    SEQUENCE (SIZE(1..4)) OF
              RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
  ...
}
```

### <a name="RoadSegmentList"></a>RoadSegmentList
This DF consists of a list of [**RoadSegment**](#RoadSegment) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
```

### <a name="RTCMheader"></a>RTCMheader
This DF is a collection of data values used to convey RTCM information between users. It
 is not required or used when sending RTCM data from a corrections source to end users (from a base station to devices
 deployed in the field which are called rovers).

* _status_ of type [**GNSSstatus**](#GNSSstatus) <br>
* _offsetSet_ of type [**AntennaOffsetSet**](#AntennaOffsetSet) <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RTCMheader ::= SEQUENCE {
   status     GNSSstatus,
   offsetSet  AntennaOffsetSet
}
```

### <a name="RTCMmessageList"></a>RTCMmessageList
This DF consists of a list of [**RTCMmessage**](#RTCMmessage) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RTCMmessageList ::= SEQUENCE (SIZE(1..5)) OF RTCMmessage
```

### <a name="SegmentAttributeXYList"></a>SegmentAttributeXYList
This DF consists of a list of [**SegmentAttributeXY**](#SegmentAttributeXY) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
```

### <a name="SignalControlZone"></a>SignalControlZone
This DF is a dummy placeholder to contain a regional SignalControlZone DF.
 It is not used, yet here for backwards compatibility.

* _zone_ of type [**RegionalExtension**](#RegionalExtension)  {{Reg-SignalControlZone}}<br>
* regional<br>
  optional region specific data.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalControlZone ::=  SEQUENCE {
  zone  RegionalExtension {{Reg-SignalControlZone}},
  ...
}
```

### <a name="SignalRequesterInfo"></a>SignalRequesterInfo
This DF is used to contain information regarding the entity that requested a given
 signal behavior. In addition to the VehicleID, the data frame also contains a request reference number used to uniquely
 refer to the request and some basic type information about the request maker which may be used by other parties.

* _id_ of type [**VehicleID**](#VehicleID) <br>
  to uniquely identify the requester and the specific request to all parties.

* _request_ of type [**RequestID**](#RequestID) <br>
  to uniquely identify the requester and the specific request to all parties.

* _sequenceNumber_ of type [**MsgCount**](#MsgCount) <br>
  to uniquely identify the requester and the specific request to all parties.

* _role_ of type [**BasicVehicleRole**](#BasicVehicleRole)  OPTIONAL<br>
  vehicle role

* _typeData_ of type [**RequestorType**](#RequestorType)  OPTIONAL<br>
  Used when addition data besides the role is needed, at which point the role entry above is not sent.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalRequesterInfo ::= SEQUENCE {
  id             VehicleID,
  request        RequestID,
  sequenceNumber MsgCount,
  role           BasicVehicleRole OPTIONAL,
  typeData       RequestorType OPTIONAL,
  ...
}
```

### <a name="SignalRequest"></a>SignalRequest
This DF is used (as part of a request message) to request either a priority or a preemption service
 from a signalized intersection. It relates the intersection ID as well as the specific request information. Additional
 information includes the approach and egress values or lanes to be used.

Values:
* _id_ of type [**IntersectionReferenceID**](#IntersectionReferenceID) <br>
  the unique ID of the target intersection

* _requestID_ of type [**RequestID**](#RequestID) <br>
  The unique requestID used by the requestor

* _requestType_ of type [**PriorityRequestType**](#PriorityRequestType) <br>
  The type of request or cancel for priority or preempt use when a prior request is canceled, only the requestID is needed.

* _inBoundLane_ of type [**IntersectionAccessPoint**](#IntersectionAccessPoint) <br>
  desired entry approach or lane.

* _outBoundLane_ of type [**IntersectionAccessPoint**](#IntersectionAccessPoint)  OPTIONAL<br>
  desired exit approach or lane. the value zero is used to indicate intent to stop within the intersection.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-SignalRequest}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;In typical use either an approach or a lane number would be given, this indicates the requested
        path through the intersection to the degree it is known.
>>>

```asn1
SignalRequest ::= SEQUENCE {
  id            IntersectionReferenceID,
  requestID     RequestID,
  requestType   PriorityRequestType,
  inBoundLane   IntersectionAccessPoint,
  outBoundLane  IntersectionAccessPoint OPTIONAL,
  regional      SEQUENCE (SIZE(1..4)) OF
                RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
  ...
}
```

### <a name="SignalRequestList"></a>SignalRequestList
This DF consists of a list of [**SignalRequest**](#SignalRequest) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
```

### <a name="SignalRequestPackage"></a>SignalRequestPackage
This DF contains both the service request itself (the preemption and priority
 details and the inbound-outbound path details for an intersection) and the time period (start and end time) over which this
 service is sought from one single intersection. One or more of these packages are contained in a list in the Signal
 Request Message (SREM).

Values:
* _request_ of type [**SignalRequest**](#SignalRequest) <br>
  The specific request to the intersection contains IntersectionID, request type, requested action (approach/lane request).

* _minute_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)  OPTIONAL<br>
  Time period start.

* _second_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
  Time period start.

* _duration_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
  The duration value is used to provide a short interval that extends the ETA so that the requesting vehicle can arrive at
                    the point of service with uncertainty or with some desired duration of service. This concept can be used to avoid needing
                    to frequently update the request. The requester must update the ETA and duration values if the
                    period of services extends beyond the duration time. It should be assumed that if the vehicle does not clear the
                    intersection when the duration is reached, the request will be cancelled and the intersection will revert to normal operation.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-SignalRequestPackage}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalRequestPackage ::= SEQUENCE {
  request        SignalRequest,
  minute         MinuteOfTheYear OPTIONAL,
  second         DSecond OPTIONAL,
  duration       DSecond OPTIONAL,
  regional       SEQUENCE (SIZE(1..4)) OF
                 RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
  ...
}
```

### <a name="SignalStatus"></a>SignalStatus
This DF is used to provide the status of a single intersection to others, including any active
 preemption or priority state in effect.

Values:
* _sequenceNumber_ of type [**MsgCount**](#MsgCount) <br>
  changed whenever the below contents have change

* _id_ of type [**IntersectionReferenceID**](#IntersectionReferenceID) <br>
  this provides a unique mapping to the intersection map in question which provides complete location
                          and approach/movement/lane data as well as zones for priority/preemption.

* _sigStatus_ of type [**SignalStatusPackageList**](#SignalStatusPackageList) <br>
  a list of detailed status containing all priority or preemption state data, both active and pending,
                          and who requested it requests which are denied are also listed here for a short period of time.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-SignalStatus}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalStatus ::= SEQUENCE {
  sequenceNumber MsgCount,
  id             IntersectionReferenceID,
  sigStatus      SignalStatusPackageList,
  regional       SEQUENCE (SIZE(1..4)) OF
                 RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
  ...
}
```

### <a name="SignalStatusList"></a>SignalStatusList
This DF consists of a list of [**SignalStatus**](#SignalStatus) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
```

### <a name="SignalStatusPackageList"></a>SignalStatusPackageList
This DF consists of a list of [**SignalStatusPackage**](#SignalStatusPackage) entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
```

### <a name="SignalStatusPackage"></a>SignalStatusPackage
This DF contains all the data needed to describe the preemption or priority state
 of the signal controller with respect to a given request and to uniquely identify the party who requested that state to occur.
 It should be noted that this data frame describes both active and anticipated states of the controller. A requested service
 may not be active when the message is created and issued. A requested service may be rejected. This structure allows
 the description of pending requests that have been granted (accepted rather than rejected) but are not yet active and
 being serviced. It also provides for the description of rejected requests so that the initial message is acknowledged
 (completing a dialog using the broadcast messages).

Values:
* _requester_ of type [**SignalRequesterInfo**](#SignalRequesterInfo)  OPTIONAL<br>
  The party that made the initial SREM request.

* _inboundOn_ of type [**IntersectionAccessPoint**](#IntersectionAccessPoint) <br>
  estimated lane / approach of vehicle.

* _outboundOn_ of type [**IntersectionAccessPoint**](#IntersectionAccessPoint)  OPTIONAL<br>
  estimated lane / approach of vehicle.

* _minute_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)  OPTIONAL<br>
  The Estimated Time of Arrival (ETA) when the service is requested. This data echos the data of the request.

* _second_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
  seconds part of ETA.

* _duration_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
  duration part of ETA.

* _status_ of type [**PrioritizationResponseStatus**](ETSI-ITS-DSRC.md#PrioritizationResponseStatus) <br>
  Status of request, this may include rejection.

* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.

* **RegionalExtension** {{Reg-SignalStatusPackage}} OPTIONAL<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalStatusPackage ::= SEQUENCE {
  requester    SignalRequesterInfo OPTIONAL,
  inboundOn    IntersectionAccessPoint,
  outboundOn   IntersectionAccessPoint OPTIONAL,
  minute       MinuteOfTheYear OPTIONAL,
  second       DSecond OPTIONAL,
  duration     DSecond OPTIONAL,
  status       PrioritizationResponseStatus,
  regional     SEQUENCE (SIZE(1..4)) OF
               RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
  ...
}
```

### <a name="SpeedandHeadingandThrottleConfidence"></a>SpeedandHeadingandThrottleConfidence
This DF is a single data frame combining multiple related bit fields into one concept.

* _heading_ of type [**HeadingConfidenceDSRC**](#HeadingConfidenceDSRC) <br>
  confidence for heading values

* _speed_ of type [**SpeedConfidenceDSRC**](#SpeedConfidenceDSRC) <br>
  confidence for speed values

* _throttle_ of type [**ThrottleConfidence**](#ThrottleConfidence) <br>
  confidence for throttle values 


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SpeedandHeadingandThrottleConfidence ::= SEQUENCE {
   heading   HeadingConfidenceDSRC,
   speed     SpeedConfidenceDSRC,
   throttle  ThrottleConfidence
}
```

### <a name="SpeedLimitList"></a>SpeedLimitList
This DF consists of a list of SpeedLimit entries.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
```

### <a name="SpeedLimitType"></a>SpeedLimitType
This DE relates the type of speed limit to which a given speed refers.

 - unknown: Speed limit type not available
 - maxSpeedInSchoolZone: Only sent when the limit is active
 - maxSpeedInSchoolZoneWhenChildrenArePresent: Sent at any time
 - maxSpeedInConstructionZone: Used for work zones, incident zones, etc. where a reduced speed is present
 - vehicleMinSpeed: Regulatory speed limit for general traffic
 - vehicleMaxSpeed: Regulatory speed limit for general traffic

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SpeedLimitType ::= ENUMERATED {
   unknown,
   maxSpeedInSchoolZone,
   maxSpeedInSchoolZoneWhenChildrenArePresent,
   maxSpeedInConstructionZone,
   vehicleMinSpeed,
   vehicleMaxSpeed,
   vehicleNightMaxSpeed,
   truckMinSpeed,
   truckMaxSpeed,
   truckNightMaxSpeed,
   vehiclesWithTrailersMinSpeed,
   vehiclesWithTrailersMaxSpeed,
   vehiclesWithTrailersNightMaxSpeed,
   ...
}
```

### <a name="TimeChangeDetails"></a>TimeChangeDetails
This DF conveys details about the timing of a phase within a movement. The core
 data concept expressed is the time stamp (time mark) at which the related phase will change to the next state. This is
 often found in the MinEndTime element, but the other elements may be needed to convey the full concept when adaptive
 timing is employed.

* _startTime_ of type [**TimeMark**](#TimeMark)                OPTIONAL<br>
  is used to relate when the phase itself started or is expected to start. This in turn allows the
                     indication that a set of time change details refers to a future phase, rather than a currently active phase.
                     By this method, timing information about "pre" phase events (which are the short transitional phase used to alert OBUs to
                     an impending green/go or yellow/caution phase) and the longer yellow-caution phase data is supported in the same form
                     as various green/go phases. In theory, the time change details could be sent for a large sequence of phases if the signal
                     timing was not adaptive and the operator wished to do so. In practice, it is expected only the "next" future phase will
                     commonly be sent. It should be noted that this also supports the sending of time periods regarding various red phases;
                     however, this is not expected to be done commonly.

* _minEndTime_ of type [**TimeMark**](#TimeMark) <br>
  is used to convey the earliest time possible at which the phase could change, except when
                     unpredictable events relating to a preemption or priority call disrupt a currently active timing plan. In a phase where the
                     time is fixed (as in a fixed yellow or clearance time), this element shall be used alone. This value can be viewed as the
                     earliest possible time at which the phase could change, except when unpredictable events relating to a preemption or
                     priority call come into play and disrupt a currently active timing plan.

* _maxEndTime_ of type [**TimeMark**](#TimeMark)                OPTIONAL<br>
  is used to convey the latest time possible which the phase could change,
                     except when unpredictable events relating to a preemption or priority
                     call come into play and disrupt a currently active timing plan. In a phase where the time is fixed (as in a fixed yellow or
                     clearance time), this element shall be used alone.

* _likelyTime_ of type [**TimeMark**](#TimeMark)                OPTIONAL<br>
  is used to convey the most likely time the phase changes. This occurs between MinEndTime and
                     MaxEndTime and is only relevant for traffic-actuated control programs. This time might be calculated out of logged
                     historical values, detected events (e.g., from inductive loops), or from other sources.

* _confidence_ of type [**TimeIntervalConfidence**](#TimeIntervalConfidence)  OPTIONAL<br>
  is used to convey basic confidence data about the likelyTime.

* _nextTime_ of type [**TimeMark**](#TimeMark)                OPTIONAL<br>
  is used to express a general (and presumably less precise) value regarding when this phase will
                     next occur. This is intended to be used to alert the OBU when the next green/go may occur so that various ECO driving
                     applications can better manage the vehicle during the intervening stopped time.


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Remarks: It should be noted that all times are expressed as absolute values and not as countdown timer values. When
          the stated time mark is reached, the state changes to the next state. Several technical reasons led to this choice; among
          these was that with a countdown embodiment, there is an inherent need to update the remaining time every time a SPAT
          message is issued. This would require re-formulating the message content as as well as cryptographically signing the
          message each time. With the use of absolute values (time marks) chosen here, the current count down time when the
          message is created is added to the then-current time to create an absolute value and can be used thereafter without
          change. The message content need only change when the signal controller makes a timing decision to be published. This
          allows a clean separation of the logical functions of message creation from the logical functions of message scheduling
          and sending, and fulfills the need to minimize further real time processing when possible. This Standard sets no limits on
          where each of these functions is performed in the overall roadside system.
>>>

```asn1
TimeChangeDetails ::= SEQUENCE {
  startTime   TimeMark               OPTIONAL,
  minEndTime  TimeMark,
  maxEndTime  TimeMark               OPTIONAL,
  likelyTime  TimeMark               OPTIONAL,
  confidence  TimeIntervalConfidence OPTIONAL,
  nextTime    TimeMark               OPTIONAL
}
```

### <a name="TimeMark"></a>TimeMark
This DE is used to relate a moment in UTC (Coordinated Universal Time)-based time when a
 signal phase is predicted to change, with a precision of 1/10 of a second. A range of 60 full minutes is supported and it
 can be presumed that the receiver shares a common sense of time with the sender which is kept aligned to within a
 fraction of a second or better.

 If there is a need to send a value greater than the range allowed by the data element (over one hour in the future), the
 value 36000 shall be sent and shall be interpreted to indicate an indefinite future time value. When the value to be used is
 undefined or unknown a value of 36001 shall be sent. Note that leap seconds are also supported.

 The value is tenths of a second in the current or next hour in units of 1/10th second from UTC time
 - A range of 0-36000 covers one hour
 - The values 35991..35999 are used when a leap second occurs
 - The value 36000 is used to indicate time >3600 seconds
 - 36001 is to be used when value undefined or unknown

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Note that this is NOT expressed in GPS time or in local time
>>>

```asn1
TimeMark ::= INTEGER (0..36001)
```

### <a name="TransmissionAndSpeed"></a>TransmissionAndSpeed
This DF expresses the speed of the vehicle and the state of the transmission.
 The transmission state of 'reverse' can be used as a sign value for the speed element when needed.

* _transmisson_ of type [**TransmissionState**](#TransmissionState) <br>
  state of the transmission

* _speed_ of type [**Velocity**](#Velocity) <br>
  speed of the vehicle


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
TransmissionAndSpeed ::= SEQUENCE {
  transmisson   TransmissionState,
  speed         Velocity
}
```

### <a name="VehicleID"></a>VehicleID
This DF is used to contain either a (US) TemporaryID or an (EU) StationID in a simple frame.
 These two different value domains are used to uniquely identify a vehicle or other object in these two regional DSRC
 value is unavailable but needed by another type of user (such as the roadside infrastructure sending data about an
 environments. In normal use cases, this value changes over time to prevent tracking of the subject vehicle. When this
 unequipped vehicle), the value zero shall be used. A typical restriction on the use of this value during a dialog or other
 exchange is that the value remains constant for the duration of that exchange. Refer to the performance requirements for
 a given application for details.

* _entityID_ of type [**TemporaryID**](#TemporaryID) <br>
  representation for US stations

* _stationID_ of type [**StationID**](ETSI-ITS-CDD.md#StationID) <br>
  representation for EU stations


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
VehicleID ::= CHOICE {
  entityID     TemporaryID,
  stationID    StationID
}
```

### <a name="AdvisorySpeedType"></a>AdvisorySpeedType
This DE relates the type of travel to which a given speed refers. This element is
 typically used as part of an [**AdvisorySpeed**](#AdvisorySpeed) data frame for signal phase and timing data.

Values:
* **none** (0)<br>
* **greenwave** (1)<br>
* **ecoDrive** (2)<br>
* **transit** (3)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
AdvisorySpeedType ::= ENUMERATED {
  none       (0),
  greenwave  (1),
  ecoDrive   (2),
  transit    (3),
  ...
}
```

### <a name="AllowedManeuvers"></a>AllowedManeuvers
This DE relates the allowed (possible) maneuvers from a lane, typically a
 motorized vehicle lane. It should be noted that in practice these values may be further restricted by vehicle class, local
 regulatory environment and other changing conditions.

Values:
* **maneuverStraightAllowed** (0)<br>
* **maneuverLeftAllowed** (1)<br>
* **maneuverRightAllowed** (2)<br>
* **maneuverUTurnAllowed** (3)<br>
* **maneuverLeftTurnOnRedAllowed** (4)<br>
* **maneuverRightTurnOnRedAllowed** (5)<br>
* **maneuverLaneChangeAllowed** (6)<br>
* **maneuverNoStoppingAllowed** (7)<br>
* **yieldAllwaysRequired** (8)<br>
* **goWithHalt** (9)<br>
* **caution** (10)<br>
* **reserved1** (11)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;When used by data frames, the AllowedManeuvers data concept is used in two places: optionally in the
    generic lane structure to list all possible maneuvers (as in what that lane can do at its stop line point); and within each
    ConnectsTo structure. Each ConnectsTo structure contains a list used to provide a single valid maneuver in the context of
    one lane connecting to another in the context of a signal phase that applies to that maneuver. It should be noted that, in
    some intersections, multiple outbound lanes can be reached by the same maneuver (for example two independent left
    turns might be found in a 5-legged intersection) but that to reach any given lane from the stop line of another lane is
    always a single maneuver item (hence the use of a list). Not all intersection descriptions may contain an exhaustive set of
    ConnectsTo information (unsignalized intersections for example) and in such cases the AllowedManeuvers in the generic
    lane structure can be used. If present in both places, the data expressed in the generic lane shall not conflict with the data
    found in the collection of ConnectsTo entries.
>>>

```asn1
AllowedManeuvers ::= BIT STRING {
  maneuverStraightAllowed      (0),
  maneuverLeftAllowed          (1),
  maneuverRightAllowed         (2),
  maneuverUTurnAllowed         (3),
  maneuverLeftTurnOnRedAllowed (4),
  maneuverRightTurnOnRedAllowed (5),
  maneuverLaneChangeAllowed    (6),
  maneuverNoStoppingAllowed    (7),
  yieldAllwaysRequired         (8),
  goWithHalt                   (9),
  caution                      (10),
  reserved1                    (11)
} (SIZE(12))
```

### <a name="Angle"></a>Angle
This DE is used to describe an angular measurement in units of degrees. This data
 element is often used as a heading direction when in motion. In this use, the current heading of the sending device is
 expressed in unsigned units of 0.0125 degrees from North, such that 28799 such degrees represent 359.9875 degrees.
 North shall be defined as the axis defined by the WGS-84 coordinate system and its reference ellipsoid. Any angle "to the
 east" is defined as the positive direction. A value of 28800 shall be used when Angle is unavailable.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.0125 degrees_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Note that other heading and angle data elements of various sizes and precisions are found in other parts of this standard and in ITS.
>>>

```asn1
Angle ::= INTEGER (0..28800)
```

### <a name="ApproachID"></a>ApproachID
This DE is used to relate the index of an approach, either ingress or egress within the
 subject lane. In general, an approach index in the context of a timing movement is not of value in the MAP and SPAT
 process because the lane ID and signal group ID concepts handle this with more precision. This value can also be useful
 as an aid as it can be used to indicate the gross position of a moving object (vehicle) when its lane level accuracy is
 unknown. This value can also be used when a deployment represents sets of lanes as groups without further details (as is
 done in Japan).

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;zero to be used when valid value is unknown
>>>

```asn1
ApproachID ::= INTEGER (0..15)
```

### <a name="BasicVehicleRole"></a>BasicVehicleRole
This DE provides a means to indicate the current role that a DSRC device is playing
 This is most commonly employed when a vehicle needs to take on another role in order to send certain DSRC message
 types. As an example, when a public safety vehicle such as a police car wishes to send a signal request message (SRM)
 to an intersection to request a preemption service, the vehicle takes on the role "police" from the below list in both the
 SRM message itself and also in the type of security CERT which is sent (the SSP in the CERT it used to identify the
 requester as being of type "police" and that they are allowed to send this message in this way). The BasicVehicleRole
 entry is often used and combined with other information about the requester as well, such as details of why the request is
 being made.

 - 0 - `basicVehicle`     - Light duty passenger vehicle type
 - 1 - `publicTransport`  - Used in EU for Transit us
 - 2 - `specialTransport` - Used in EU (e.g. heavy load)
 - 3 - `dangerousGoods`   - Used in EU for any HAZMAT
 - 4 - `roadWork`         - Used in EU for State and Local DOT uses
 - 5 - `roadRescue`       - Used in EU and in the US to include tow trucks.
 - 6 - `emergency`        - Used in EU for Police, Fire and Ambulance units
 - 7 - `safetyCar`        - Used in EU for Escort vehicles
 - 8 - `none-unknown`     - added to follow current SAE style guidelines
 - 9 - `truck`            - Heavy trucks with additional BSM rights and obligations
 - 10 - `motorcycle`      - Motorcycle
 - 11 - `roadSideSource`  - For infrastructure generated calls such as fire house, rail infrastructure, roadwork site, etc.
 - 12 - `police`          - Police vehicle
 - 13 - `fire`            - Firebrigade
 - 14 - `ambulance`       - (does not include private para-transit etc.)
 - 15 - `dot`             - all roadwork vehicles
 - 16 - `transit`         - all transit vehicles
 - 17 - `slowMoving`      - to also include oversize etc.
 - 18 - `stopNgo`         - to include trash trucks, school buses and others
 - 19 - `cyclist`         - bicycles
 - 20 - `pedestrian`      - also includes those with mobility limitations
 - 21 - `nonMotorized`    - other, horse drawn, etc.
 - 22 - `military`        - military vehicles

Values:
* **basicVehicle** (0)<br>
* **publicTransport** (1)<br>
* **specialTransport** (2)<br>
* **dangerousGoods** (3)<br>
* **roadWork** (4)<br>
* **roadRescue** (5)<br>
* **emergency** (6)<br>
* **safetyCar** (7)<br>
* **none-unknown** (8)<br>
* **truck** (9)<br>
* **motorcycle** (10)<br>
* **roadSideSource** (11)<br>
* **police** (12)<br>
* **fire** (13)<br>
* **ambulance** (14)<br>
* **dot** (15)<br>
* **transit** (16)<br>
* **slowMoving** (17)<br>
* **stopNgo** (18)<br>
* **cyclist** (19)<br>
* **pedestrian** (20)<br>
* **nonMotorized** (21)<br>
* **military** (22)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;It should be observed that devices can at times change their roles (i.e. a fire operated by a volunteer
    fireman can assume a fire role for a period of time when in service, or a pedestrian may assume a cyclist role when using
    a bicycle). It should be observed that not all devices (or vehicles) can assume all roles, nor that a given
    device in a given role will be provided with a security certificate (CERT) that has suitable SSP credentials to provide the
    ability to send a particular message or message content. The ultimate responsibility to determine what role is to be used,
    and what CERTs would be provided for that role (which in turn controls the messages and message content that can be
    sent within SAE-defined PSIDs) rests with the regional deployment.
>>>

```asn1
BasicVehicleRole ::= ENUMERATED {
  basicVehicle     (0),
  publicTransport  (1),
  specialTransport (2),
  dangerousGoods   (3),
  roadWork         (4),
  roadRescue       (5),
  emergency        (6),
  safetyCar        (7),
  none-unknown     (8),
  truck            (9),
  motorcycle      (10),
  roadSideSource  (11),
  police          (12),
  fire            (13),
  ambulance       (14),
  dot             (15),
  transit         (16),
  slowMoving      (17),
  stopNgo         (18),
  cyclist         (19),
  pedestrian      (20),
  nonMotorized    (21),
  military        (22),
  ...
}
```

### <a name="DDay"></a>DDay
The DSRC style day is a simple value consisting of integer values from zero to 31. The value of zero shall represent an unknown value.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _days_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DDay ::= INTEGER (0..31)
```

### <a name="DeltaAngle"></a>DeltaAngle
This DE provides the final angle used in the last point of the lane path. Used to "cant" the stop line of the lane.

 With an angle range from negative 150 to positive 150 in one degree steps where zero is directly
 along the axis or the lane center line as defined by the two closest points.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _degree_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DeltaAngle ::= INTEGER (-150..150)
```

### <a name="DeltaTime"></a>DeltaTime
This DE provides a time definition for an object's schedule adherence (typically a transit
 vehicle) within a limited range of time. When the reporting object is ahead of schedule, a positive value is used; when
 behind, a negative value is used. A value of zero indicates schedule adherence. This value is typically sent from a vehicle
 to the traffic signal controller's RSU to indicate the urgency of a signal request in the context of being within schedule or
 not. In another use case, the traffic signal controller may advise the transit vehicle to speed up (DeltaTime > 0) or to slow
 down (DeltaTime < 0) to optimize the transit vehicle distribution driving along a specific route (e.g. a Bus route).

 Supporting a range of +/- 20 minute in steps of 10 seconds:
 - the value of `-121` shall be used when more than -20 minutes
 - the value of `+120` shall be used when more than +20 minutes
 - the value `-122` shall be used when the value is unavailable

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DeltaTime ::= INTEGER (-122 .. 121)
```

### <a name="DescriptiveName"></a>DescriptiveName
This DE is used in maps and intersections to provide a human readable and
 recognizable name for the feature that follows. It is typically used when debugging a data flow and not in production use.
 One key exception to this general rule is to provide a human-readable string for disabled travelers in the case of
 crosswalks and sidewalk lane objects.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DescriptiveName ::= IA5String (SIZE(1..63))
```

### <a name="DHour"></a>DHour
The DSRC hour consists of integer values from zero to 23 representing the hours within a day. The value of 31 shall
 represent an unknown value. The range 24 to 30 is used in some transit applications to represent schedule adherence.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _hours_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DHour ::= INTEGER (0..31)
```

### <a name="DMinute"></a>DMinute
The DSRC style minute is a simple value consisting of integer values from zero to 59 representing the minutes
 within an hour. The value of 60 shall represent an unknown value.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _minutes_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DMinute ::= INTEGER (0..60)
```

### <a name="DMonth"></a>DMonth
The DSRC month consists of integer values from one to 12, representing the month within a year. The value of 0
 shall represent an unknown value.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _months_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DMonth ::= INTEGER (0..12)
```

### <a name="DOffset"></a>DOffset
The DSRC (time zone) offset consists of a signed integer representing an hour and minute value set from -14:00 to
 +14:00, representing all the worldâs local time zones in units of minutes. The value of zero (00:00) may also represent an
 unknown value. Note some time zones are do not align to hourly boundaries.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _minutes from UTC time_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DOffset ::= INTEGER (-840..840)
```

### <a name="DrivenLineOffsetLg"></a>DrivenLineOffsetLg
This DE is an integer value expressing the offset in a defined axis from a
 reference lane number from which a computed lane is offset. The measurement is taken from the reference lane center
 line to the new center line, independent of any width values. The units are a signed value with an LSB of 1 cm.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _cm_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DrivenLineOffsetLg ::= INTEGER (-32767..32767)
```

### <a name="DrivenLineOffsetSm"></a>DrivenLineOffsetSm
The DrivenLineOffsetSmall data element is an integer value expressing the offset in a defined axis from a reference
 lane number from which a computed lane is offset. The measurement is taken from the reference lane center line to the
 new center line, independent of any width values. The units are a signed value with an LSB of 1 cm.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _cm_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DrivenLineOffsetSm ::= INTEGER (-2047..2047)
```

### <a name="DSecond"></a>DSecond
The DSRC second expressed in this DE consists of integer values from zero to 60999, representing the
 milliseconds within a minute. A leap second is represented by the value range 60000 to 60999. The value of 65535 shall
 represent an unavailable value in the range of the minute. The values from 61000 to 65534 are reserved.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _milliseconds_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DSecond ::= INTEGER (0..65535)
```

### <a name="DYear"></a>DYear
The DSRC year consists of integer values from zero to 4095 representing the year according to the Gregorian
 calendar date system. The value of zero shall represent an unknown value.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _years_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
DYear ::= INTEGER (0..4095)
```

### <a name="Elevation"></a>Elevation
This DE represents the geographic position above or below the reference ellipsoid (typically WGS-84).
 The number has a resolution of 1 decimeter and represents an asymmetric range of positive and negative
 values. Any elevation higher than +6143.9 meters is represented as +61439.

 Any elevation lower than -409.5 meters is represented as -4095.

 If the sending device does not know its elevation, it shall encode the Elevation data element with -4096.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;When a vehicle is being measured, the elevation is taken from the horizontal spatial center of the vehicle
        projected downward, regardless of vehicle tilt, to the point where the vehicle meets the road surface.
>>>

```asn1
Elevation ::= INTEGER (-4096..61439)
```

### <a name="ElevationConfidence"></a>ElevationConfidence
This DE is used to provide the 95% confidence level for the currently reported value of [**Elevation**](#Elevation),
 taking into account the current calibration and precision of the sensor(s) used to measure and/or
 calculate the value. This data element is only to provide the listener with information on the limitations of the sensing
 system, not to support any type of automatic error correction or to imply a guaranteed maximum error. This data element
 should not be used for fault detection or diagnosis, but if a vehicle is able to detect a fault, the confidence interval should
 be increased accordingly. The frame of reference and axis of rotation used shall be in accordance with that defined in Section 11.

 - `unavailable` - 0:   B'0000 Not Equipped or unavailable
 - `elev-500-00` - 1:   B'0001 (500 m)
 - `elev-200-00` - 2:   B'0010 (200 m)
 - `elev-100-00` - 3:   B'0011 (100 m)
 - `elev-050-00` - 4:   B'0100 (50 m)
 - `elev-020-00` - 5:   B'0101 (20 m)
 - `elev-010-00` - 6:   B'0110 (10 m)
 - `elev-005-00` - 7:   B'0111 (5 m)
 - `elev-002-00` - 8:   B'1000 (2 m)
 - `elev-001-00` - 9:   B'1001 (1 m)
 - `elev-000-50` - 10:  B'1010 (50 cm)
 - `elev-000-20` - 11:  B'1011 (20 cm)
 - `elev-000-10` - 12:  B'1100 (10 cm)
 - `elev-000-05` - 13:  B'1101 (5 cm)
 - `elev-000-02` - 14:  B'1110 (2 cm)
 - `elev-000-01` - 15:  B'1111 (1 cm)

Values:
* **unavailable** (0)<br>
* **elev-500-00** (1)<br>
* **elev-200-00** (2)<br>
* **elev-100-00** (3)<br>
* **elev-050-00** (4)<br>
* **elev-020-00** (5)<br>
* **elev-010-00** (6)<br>
* **elev-005-00** (7)<br>
* **elev-002-00** (8)<br>
* **elev-001-00** (9)<br>
* **elev-000-50** (10)<br>
* **elev-000-20** (11)<br>
* **elev-000-10** (12)<br>
* **elev-000-05** (13)<br>
* **elev-000-02** (14)<br>
* **elev-000-01** (15)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Encoded as a 4 bit value
>>>

```asn1
ElevationConfidence ::= ENUMERATED {
   unavailable (0),
   elev-500-00 (1),
   elev-200-00 (2),
   elev-100-00 (3),
   elev-050-00 (4),
   elev-020-00 (5),
   elev-010-00 (6),
   elev-005-00 (7),
   elev-002-00 (8),
   elev-001-00 (9),
   elev-000-50 (10),
   elev-000-20 (11),
   elev-000-10 (12),
   elev-000-05 (13),
   elev-000-02 (14),
   elev-000-01 (15)
}
```

### <a name="FuelType"></a>FuelType
This DE provides the type of fuel used by a vehicle.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
FuelType ::= INTEGER (0..15)
   unknownFuel FuelType  ::= 0
   gasoline FuelType     ::= 1
   ethanol FuelType      ::= 2
   diesel FuelType       ::= 3
   electric FuelType     ::= 4
   hybrid FuelType       ::= 5
   hydrogen FuelType     ::= 6
   natGasLiquid FuelType ::= 7
   natGasComp FuelType   ::= 8
   propane FuelType      ::= 9
```

### <a name="GNSSstatus"></a>GNSSstatus
This DE is used to relate the current state of a GPS/GNSS rover or base system in terms
 of its general health, lock on satellites in view, and use of any correction information. Various bits can be asserted (made
 to a value of one) to reflect these values. A GNSS set with unknown health and no tracking or corrections would be
 represented by setting the unavailable bit to one. A value of zero shall be used when a defined data element is
 unavailable. The term "GPS" in any data element name in this standard does not imply that it is only to be used for GPS-
 type GNSS systems.

 - `unavailable`              - 0: Not Equipped or unavailable
 - `isHealthy`                - 1:
 - `isMonitored`              - 2:
 - `baseStationType`          - 3: Set to zero if a moving base station, or if a rover device (an OBU), Set to one if it is a fixed base station
 - `aPDOPofUnder5`            - 4: A dilution of precision greater than 5
 - `inViewOfUnder5`           - 5: Less than 5 satellites in view
 - `localCorrectionsPresent`  - 6: DGPS type corrections used
 - `networkCorrectionsPresen` - 7: RTK type corrections used

Values:
* **unavailable** (0)<br>
* **isHealthy** (1)<br>
* **isMonitored** (2)<br>
* **baseStationType** (3)<br>
* **aPDOPofUnder5** (4)<br>
* **inViewOfUnder5** (5)<br>
* **localCorrectionsPresent** (6)<br>
* **networkCorrectionsPresent** (7)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
GNSSstatus ::= BIT STRING {
   unavailable               (0),
   isHealthy                 (1),
   isMonitored               (2),
   baseStationType           (3),
   aPDOPofUnder5             (4),
   inViewOfUnder5            (5),
   localCorrectionsPresent   (6),
   networkCorrectionsPresent (7)
 } (SIZE(8))
```

### <a name="HeadingConfidenceDSRC"></a>HeadingConfidenceDSRC
The DE_HeadingConfidence data element is used to provide the 95% confidence level for the currently reported
 calculate the value. This data element is only to provide the listener with information on the limitations of the sensing
 value of DE_Heading, taking into account the current calibration and precision of the sensor(s) used to measure and/or
 system, not to support any type of automatic error correction or to imply a guaranteed maximum error. This data element
 should not be used for fault detection or diagnosis, but if a vehicle is able to detect a fault, the confidence interval should
 be increased accordingly. The frame of reference and axis of rotation used shall be in accordance with that defined Section 11.

 - `unavailable`   - 0: B'000 Not Equipped or unavailable
 - `prec10deg`     - 1: B'010 10 degrees
 - `prec05deg`     - 2: B'011 5 degrees
 - `prec01deg`     - 3: B'100 1 degrees
 - `prec0-1deg`    - 4: B'101 0.1 degrees
 - `prec0-05deg`   - 5: B'110 0.05 degrees
 - `prec0-01deg`   - 6: B'110 0.01 degrees
 - `prec0-0125deg` - 7: B'111 0.0125 degrees, aligned with heading LSB

Values:
* **unavailable** (0)<br>
* **prec10deg** (1)<br>
* **prec05deg** (2)<br>
* **prec01deg** (3)<br>
* **prec0-1deg** (4)<br>
* **prec0-05deg** (5)<br>
* **prec0-01deg** (6)<br>
* **prec0-0125deg** (7)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
HeadingConfidenceDSRC ::= ENUMERATED {
   unavailable   (0),
   prec10deg     (1),
   prec05deg     (2),
   prec01deg     (3),
   prec0-1deg    (4),
   prec0-05deg   (5),
   prec0-01deg   (6),
   prec0-0125deg (7)
}
```

### <a name="HeadingDSRC"></a>HeadingDSRC
This DE provides the current heading of the sending device, expressed in unsigned units of
 0.0125 degrees from North such that 28799 such degrees represent 359.9875 degrees. North shall be defined as the axis
 prescribed by the WGS-84 coordinate system and its reference ellipsoid. Headings "to the east" are defined as the
 positive direction. A value of 28800 shall be used when unavailable. This element indicates the direction of motion of the
 device. When the sending device is stopped and the trajectory (path) over which it traveled to reach that location is well
 known, the past heading may be used.

 Value provides a range of 0 to 359.9875 degrees
        and in ITS. This element should no longer be used for new work: the [**Angle**](#Angle) entry is preferred.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.0125 degrees_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
HeadingDSRC ::= INTEGER (0..28800)
```

### <a name="IntersectionID"></a>IntersectionID
This DE is used within a region to uniquely define an intersection within that country or region in a 16-bit
 field. Assignment rules are established by the regional authority associated with the RoadRegulatorID under which this
 IntersectionID is assigned. Within the region the policies used to ensure an assigned valueâs uniqueness before that value
 is reused (if ever) is the responsibility of that region. Any such reuse would be expected to occur over a long epoch (many years).
 The values zero through 255 are allocated for testing purposes

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Note that the value assigned to an intersection will be unique within a given regional ID only
>>>

```asn1
IntersectionID ::= INTEGER (0..65535)
```

### <a name="IntersectionStatusObject"></a>IntersectionStatusObject
The Intersection Status Object contains Advanced Traffic Controller (ATC) status information that may be sent to
 local OBUs as part of the SPAT process.

 With bits as defined:
 - `manualControlIsEnabled`                - 0: Timing reported is per programmed values, etc. but person at cabinet can manually request that certain intervals are terminated early (e.g. green).
 - `stopTimeIsActivated`                   - 1: And all counting/timing has stopped.
 - `failureFlash`                          - 2: Above to be used for any detected hardware failures, e.g. conflict monitor as well as for police flash
 - `fixedTimeOperation`                    - 5: Schedule of signals is based on time only (i.e. the state can be calculated)
 - `trafficDependentOperation`             - 6: Operation is based on different levels of traffic parameters (requests, duration of gaps or more complex parameters)
 - `standbyOperation`                      - 7: Controller: partially switched off or partially amber flashing
 - `failureMode`                           - 8: Controller has a problem or failure in operation
 - `off`                                   - 9: Controller is switched off
 - `recentMAPmessageUpdate`                - 10: Map revision with content changes
 - `recentChangeInMAPassignedLanesIDsUsed` - 11: Change in MAP's assigned lanes used (lane changes) Changes in the active lane list description
 - `noValidMAPisAvailableAtThisTime`       - 12: MAP (and various lanes indexes) not available
 - `noValidSPATisAvailableAtThisTime`      - 13: SPAT system is not working at this time
 - Bits 14,15 reserved at this time and shall be zero

Values:
* **manualControlIsEnabled** (0)<br>
* **stopTimeIsActivated** (1)<br>
* **failureFlash** (2)<br>
* **preemptIsActive** (3)<br>
* **signalPriorityIsActive** (4)<br>
* **fixedTimeOperation** (5)<br>
* **trafficDependentOperation** (6)<br>
* **standbyOperation** (7)<br>
* **failureMode** (8)<br>
* **off** (9)<br>
* **recentMAPmessageUpdate** (10)<br>
* **recentChangeInMAPassignedLanesIDsUsed** (11)<br>
* **noValidMAPisAvailableAtThisTime** (12)<br>
* **noValidSPATisAvailableAtThisTime** (13)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;All zeros indicate normal operating mode with no recent changes. The duration of the term 'recent' is defined by the system performance requirement in use.
>>>

```asn1
IntersectionStatusObject ::= BIT STRING {
  manualControlIsEnabled                (0),
  stopTimeIsActivated                   (1),
  failureFlash                          (2),
  preemptIsActive                       (3),
  signalPriorityIsActive                (4),
  fixedTimeOperation                    (5),
  trafficDependentOperation             (6),
  standbyOperation                      (7),
  failureMode                           (8),
  off                                   (9),
  recentMAPmessageUpdate                (10),
  recentChangeInMAPassignedLanesIDsUsed (11),
  noValidMAPisAvailableAtThisTime       (12),
  noValidSPATisAvailableAtThisTime      (13)
} (SIZE(16))
```

### <a name="LaneAttributes-Barrier"></a>LaneAttributes-Barrier
This DE relates specific properties found in a Barrier or Median lane type (a type of lane object used to separate traffic lanes).
 It should be noted that various common lane attribute properties (such as travel directions and allowed movements or maneuvers) can be found in other entries.

 With bits as defined:
 - `median-RevocableLane` - 0: this lane may be activated or not based on the current SPAT message contents if not asserted, the lane is ALWAYS present
 - Bits 10-15 reserved and set to zero

Values:
* **median-RevocableLane** (0)<br>
* **median** (1)<br>
* **whiteLineHashing** (2)<br>
* **stripedLines** (3)<br>
* **doubleStripedLines** (4)<br>
* **trafficCones** (5)<br>
* **constructionBarrier** (6)<br>
* **trafficChannels** (7)<br>
* **lowCurbs** (8)<br>
* **highCurbs** (9)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes-Barrier ::= BIT STRING {
  median-RevocableLane     (0),
  median                   (1),
  whiteLineHashing         (2),
  stripedLines             (3),
  doubleStripedLines       (4),
  trafficCones             (5),
  constructionBarrier      (6),
  trafficChannels          (7),
  lowCurbs                 (8),
  highCurbs                (9)
} (SIZE (16))
```

### <a name="LaneAttributes-Bike"></a>LaneAttributes-Bike
This DE relates specific properties found in a bicycle lane type. It should be noted that various common lane attribute properties
 (such as travel directions and allowed movements or maneuvers) can be found in other entries.

 With bits as defined:
 - `bikeRevocableLane`       - 0: this lane may be activated or not based on the current SPAT message contents if not asserted, the lane is ALWAYS present
 - `pedestrianUseAllowed`    - 1: The path allows pedestrian traffic, if not set, this mode is prohibited
 - `isBikeFlyOverLane`       - 2: path of lane is not at grade
 - `fixedCycleTime`          - 3: the phases use preset times, i.e. there is not a 'push to cross' button
 - `biDirectionalCycleTimes` - 4: ped walk phases use different SignalGroupID for each direction. The first SignalGroupID in the first Connection
                                  represents 'inbound' flow (the direction of travel towards the first node point) while second SignalGroupID in the
                                  next Connection entry represents the 'outbound' flow. And use of RestrictionClassID entries in the Connect follow this same pattern in pairs.
 -`isolatedByBarrier`           - 5: The lane path is isolated by a fixed barrier
 -`unsignalizedSegmentsPresent` - 6: The lane path consists of one of more segments which are not part of a signal group ID
 - Bits 7-15 reserved and set to zero

Values:
* **bikeRevocableLane** (0)<br>
* **pedestrianUseAllowed** (1)<br>
* **isBikeFlyOverLane** (2)<br>
* **fixedCycleTime** (3)<br>
* **biDirectionalCycleTimes** (4)<br>
* **isolatedByBarrier** (5)<br>
* **unsignalizedSegmentsPresent** (6)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes-Bike ::= BIT STRING {
  bikeRevocableLane       (0),
  pedestrianUseAllowed    (1),
  isBikeFlyOverLane       (2),
  fixedCycleTime          (3),
  biDirectionalCycleTimes (4),
  isolatedByBarrier       (5),
  unsignalizedSegmentsPresent  (6)
} (SIZE (16))
```

### <a name="LaneAttributes-Crosswalk"></a>LaneAttributes-Crosswalk
This DE relates specific properties found in a crosswalk lane type. It should be noted that various common lane attribute properties
 (such as travel directions and allowed movements or maneuvers) can be found in other entries.

 With bits as defined:
 - `crosswalkRevocableLane`  - 0:  this lane may be activated or not based on the current SPAT message contents if not asserted, the lane is ALWAYS present
 - `bicyleUseAllowed`        - 1: The path allows bicycle traffic, if not set, this mode is prohibited
 - `isXwalkFlyOverLane`      - 2: path of lane is not at grade
 - `fixedCycleTime`          - 3: ped walk phases use preset times. i.e. there is not a 'push to cross' button
 - `biDirectionalCycleTimes` - 4:  ped walk phases use different SignalGroupID for each direction. The first SignalGroupID
                                   in the first Connection represents 'inbound' flow (the direction of travel towards the first
                                   node point) while second SignalGroupID in the next Connection entry represents the 'outbound'
                                   flow. And use of RestrictionClassID entries in the Connect follow this same pattern in pairs.
 - `hasPushToWalkButton`     - 5: Has a demand input
 - `audioSupport`            - 6:  audio crossing cues present
 - `rfSignalRequestPresent`  - 7: Supports RF push to walk technologies
 - `unsignalizedSegmentsPresent` - 8: The lane path consists of one of more segments which are not part of a signal group ID
 - Bits 9-15 reserved and set to zero

Values:
* **crosswalkRevocableLane** (0)<br>
* **bicyleUseAllowed** (1)<br>
* **isXwalkFlyOverLane** (2)<br>
* **fixedCycleTime** (3)<br>
* **biDirectionalCycleTimes** (4)<br>
* **hasPushToWalkButton** (5)<br>
* **audioSupport** (6)<br>
* **rfSignalRequestPresent** (7)<br>
* **unsignalizedSegmentsPresent** (8)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes-Crosswalk ::= BIT STRING {
  crosswalkRevocableLane  (0),
  bicyleUseAllowed        (1),
  isXwalkFlyOverLane      (2),
  fixedCycleTime          (3),
  biDirectionalCycleTimes (4),
  hasPushToWalkButton     (5),
  audioSupport            (6),
  rfSignalRequestPresent  (7),
  unsignalizedSegmentsPresent  (8)
} (SIZE (16))
```

### <a name="LaneAttributes-Parking"></a>LaneAttributes-Parking
This DE relates specific properties found in a vehicle parking lane type. It should be noted that various common lane attribute
 properties can be found in other entries.

 With bits as defined:
 - `parkingRevocableLane` - 0: this lane may be activated or not based on the current SPAT message contents if not asserted, the lane is ALWAYS present
 - `doNotParkZone`        - 3: used to denote fire hydrants as well as short disruptions in a parking zone
 - `noPublicParkingUse`   - 6: private parking, as in front of private property
 - Bits 7-15 reserved and set to zero*

Values:
* **parkingRevocableLane** (0)<br>
* **parallelParkingInUse** (1)<br>
* **headInParkingInUse** (2)<br>
* **doNotParkZone** (3)<br>
* **parkingForBusUse** (4)<br>
* **parkingForTaxiUse** (5)<br>
* **noPublicParkingUse** (6)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes-Parking ::= BIT STRING {
  parkingRevocableLane         (0),
  parallelParkingInUse         (1),
  headInParkingInUse           (2),
  doNotParkZone                (3),
  parkingForBusUse             (4),
  parkingForTaxiUse            (5),
  noPublicParkingUse           (6)
} (SIZE (16))
```

### <a name="LaneAttributes-Sidewalk"></a>LaneAttributes-Sidewalk
This DE relates specific properties found in a sidewalk lane type. It should be noted that various common lane attribute properties
 (such as travel directions and allowed movements or maneuvers) can be found in other entries.

 With bits as defined:
 - `sidewalk-RevocableLane`- 0: this lane may be activated or not based on the current SPAT message contents if not asserted, the lane is ALWAYS present.
 - `bicyleUseAllowed`      - 1: The path allows bicycle traffic, if not set, this mode is prohibited
 - `isSidewalkFlyOverLane` - 2: path of lane is not at grade
 - `walkBikes`             - 3: bike traffic must dismount and walk
 - Bits 4-15 reserved and set to zero

Values:
* **sidewalk-RevocableLane** (0)<br>
* **bicyleUseAllowed** (1)<br>
* **isSidewalkFlyOverLane** (2)<br>
* **walkBikes** (3)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes-Sidewalk ::= BIT STRING {
  sidewalk-RevocableLane  (0),
  bicyleUseAllowed        (1),
  isSidewalkFlyOverLane   (2),
  walkBikes               (3)
} (SIZE (16))
```

### <a name="LaneAttributes-Striping"></a>LaneAttributes-Striping
This DE relates specific properties found in various types of ground striping lane
 types. This includes various types of painted lane ground striping and iconic information needs to convey information in a
 complex intersection. Typically, this consists of visual guidance for drivers to assist them to connect across the
 intersection to the correct lane. Such markings are typically used with restraint and only under conditions when the
 geometry of the intersection makes them more beneficial than distracting. It should be noted that various common lane
 attribute properties (such as travel directions and allowed movements or maneuvers) can be found in other entries.

 With bits as defined:
 - `stripeToConnectingLanesRevocableLane` - 0: this lane may be activated or not activated based on the current SPAT message contents if not asserted, the lane is ALWAYS present
 - `stripeToConnectingLanesAhead` - 5: the stripe type should be presented to the user visually to reflect stripes in the intersection for the type of movement indicated.
 - Bits 6-15 reserved and set to zero

Values:
* **stripeToConnectingLanesRevocableLane** (0)<br>
* **stripeDrawOnLeft** (1)<br>
* **stripeDrawOnRight** (2)<br>
* **stripeToConnectingLanesLeft** (3)<br>
* **stripeToConnectingLanesRight** (4)<br>
* **stripeToConnectingLanesAhead** (5)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes-Striping ::= BIT STRING {
  stripeToConnectingLanesRevocableLane      (0),
  stripeDrawOnLeft                          (1),
  stripeDrawOnRight                         (2),
  stripeToConnectingLanesLeft               (3),
  stripeToConnectingLanesRight              (4),
  stripeToConnectingLanesAhead              (5)
} (SIZE (16))
```

### <a name="LaneAttributes-TrackedVehicle"></a>LaneAttributes-TrackedVehicle
This DE relates specific properties found in a tracked vehicle lane types (trolley
 and train lanes). The term ârail vehicleâ can be considered synonymous. In this case, the term does not relate to vehicle
 types with tracks or treads. It should be noted that various common lane attribute properties (such as travel directions and
 allowed movements or maneuvers) can be found in other entries. It should also be noted that often this type of lane object
 does not clearly relate to an approach in the traditional traffic engineering sense, although the message set allows
 assigning a value when desired.

 With bits as defined:
 - `spec-RevocableLane` - 0: this lane may be activated or not based on the current SPAT message contents if not asserted, the lane is ALWAYS present.
 - Bits 5-15 reserved and set to zero

Values:
* **spec-RevocableLane** (0)<br>
* **spec-commuterRailRoadTrack** (1)<br>
* **spec-lightRailRoadTrack** (2)<br>
* **spec-heavyRailRoadTrack** (3)<br>
* **spec-otherRailType** (4)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes-TrackedVehicle ::= BIT STRING {
  spec-RevocableLane         (0),
  spec-commuterRailRoadTrack (1),
  spec-lightRailRoadTrack    (2),
  spec-heavyRailRoadTrack    (3),
  spec-otherRailType         (4)
} (SIZE (16))
```

### <a name="LaneAttributes-Vehicle"></a>LaneAttributes-Vehicle
This DE relates specific properties found in a vehicle lane type. This data element provides a means to denote that the use of a lane
 is restricted to certain vehicle types. Various common lane attribute properties (such as travel directions and allowed movements or maneuvers)
 can be found in other entries.

 With bits as defined:
 - `isVehicleRevocableLane` - 0: this lane may be activated or not based on the current SPAT message contents if not asserted, the lane is ALWAYS present
 - `isVehicleFlyOverLane`   - 1: path of lane is not at grade
 - `permissionOnRequest`    - 7: e.g. to inform about a lane for e-cars

Values:
* **isVehicleRevocableLane** (0)<br>
* **isVehicleFlyOverLane** (1)<br>
* **hovLaneUseOnly** (2)<br>
* **restrictedToBusUse** (3)<br>
* **restrictedToTaxiUse** (4)<br>
* **restrictedFromPublicUse** (5)<br>
* **hasIRbeaconCoverage** (6)<br>
* **permissionOnRequest** (7)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneAttributes-Vehicle ::= BIT STRING {
  isVehicleRevocableLane       (0),
  isVehicleFlyOverLane         (1),
  hovLaneUseOnly               (2),
  restrictedToBusUse           (3),
  restrictedToTaxiUse          (4),
  restrictedFromPublicUse      (5),
  hasIRbeaconCoverage          (6),
  permissionOnRequest          (7)
} (SIZE (8,...))
```

### <a name="LaneConnectionID"></a>LaneConnectionID
This DE is used to state a connection index for a lane to lane connection. It is used to
 relate this connection between the lane (defined in the MAP) and any dynamic clearance data sent in the SPAT. It should
 be noted that the index may be shared with other lanes (for example, two left turn lanes may share the same dynamic
 clearance data). It should also be noted that a given lane to lane connection may be part of more than one GroupID due
 to signal phase considerations, but will only have one ConnectionID. The ConnectionID concept is not used (is not
 present) when dynamic clearance data is not provided in the SPAT.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;It should be noted that the LaneConnectionID is used as a means to index to a connection description
        between two lanes. It is not the same as the laneID, which is the unique index to each lane itself.
>>>

```asn1
LaneConnectionID ::= INTEGER (0..255)
```

### <a name="LaneDirection"></a>LaneDirection
This DE is used to denote the allowed direction of travel over a lane object. By convention, the lane object is always described
 from the stop line outwards away from the intersection. Therefore, the ingress direction is from the end of the path to the stop
 line and the egress direction is from the stop line outwards.

 It should be noted that some lane objects are not used for travel and that some lane objects allow bi-directional travel.

 With bits as defined:
 - Allowed directions of travel in the lane object
 - All lanes are described from the stop line outwards

Values:
* **ingressPath** (0)<br>
  travel from rear of path to front is allowed

* **egressPath** (1)<br>
  travel from front of path to rear is allowed


&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;No Travel, i.e. the lane object type does not support travel (medians, curbs, etc.) is indicated by not
        asserting any bit value Bi-Directional Travel (such as a ped crosswalk) is indicated by asserting both of the bits.
>>>

```asn1
LaneDirection ::= BIT STRING {
  ingressPath     (0),
  egressPath      (1)
} (SIZE (2))
```

### <a name="LaneID"></a>LaneID
This DE conveys an assigned index that is unique within an intersection. It is used to refer to
 that lane by other objects in the intersection map data structure. Lanes may be ingress (inbound traffic) or egress
 (outbound traffic) in nature, as well as barriers and other types of specialty lanes. Each lane (each lane object) is
 assigned a unique ID. The Lane ID, in conjunction with the intersection ID, forms a regionally unique way to address a
 specific lane in that region.

 - the value 0 shall be used when the lane ID is not available or not known
 - the value 255 is reserved for future use

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneID ::= INTEGER (0..255)
```

### <a name="LayerID"></a>LayerID
Large [**MapData**](#MapData) descriptions are not possible to be broadcast with a single message and have to be
 fragmented using two or more messages over the air. Therefore, the LayerID allows defining an
 index for fragmentation of large [**MapData**](#MapData) descriptions. The fragmentation of the messages shall be
 executed on application layer. The fragmentation occurs on an approach base. This means that almost a
 complete approach (e.g. lanes, connectsTo, etc.) has to be included within a fragment.
 The decimal value of the `layerID` is used to define the amount of maximum [**MapData**](#MapData) fragments. The
 lower value defines the actual fragment.

 Example:
 If a MapData consists of three fragments (e.g. three approaches), the fragments are identified as follows:
 - `31` - first fragment of three (e.g. approach south);
 - `33` - third fragment of three (e.g. approach north).
 - `32` - second fragment of three (e.g. approach west);

 If there are only two fragments, the fragment identification will be 21, 22.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LayerID ::= INTEGER (0..100)
```

### <a name="LayerType"></a>LayerType
This DE is used to uniquely identify the type of information to be found in a layer of a geographic map fragment such as an intersection.

 @field `mixedContent`: two or more of the below types

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LayerType ::= ENUMERATED {
  none,
  mixedContent,
  generalMapData,
  intersectionData,
  curveData,
  roadwaySectionData,
  parkingAreaData,
  sharedLaneData,
  ...
}
```

### <a name="LaneWidth"></a>LaneWidth
This DE conveys the width of a lane in LSB units of 1 cm. Maximum value for a lane is 327.67 meters in width

 @units: cm

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
LaneWidth ::= INTEGER (0..32767)
```

### <a name="MergeDivergeNodeAngle"></a>MergeDivergeNodeAngle
The angle at which another lane path meets the current lanes at the node point. Typically found in the node
 attributes and used to describe the angle of the departing or merging lane. Note that oblique and obtuse angles are allowed.

 The value `-180` shall be used to represent data is not available or unknown

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _1.5 degrees from north_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
MergeDivergeNodeAngle ::= INTEGER (-180..180)
```

### <a name="MinuteOfTheYear"></a>MinuteOfTheYear
This DE expresses the number of elapsed minutes of the current year in the time system being used (typically UTC time).

 It is typically used to provide a longer range time stamp indicating when a message was created.
 Taken together with the DSecond data element, it provides a range of one full year with a resolution of 1 millisecond.

 The value 527040 shall be used for invalid.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;It should be noted that at the yearly roll-over point there is no "zero" minute, in the same way that there was
        never a "year zero" at the very start of the common era (BC -> AD). By using the number of elapsed whole minutes here
        this issue is avoided and the first valid value of every new year is zero, followed by one, etc. Leap years are
        accommodated, as are leap seconds in the DSecond data concept.
>>>

```asn1
MinuteOfTheYear ::= INTEGER (0..527040)
```

### <a name="MovementPhaseState"></a>MovementPhaseState
This DE provides the overall current state of the movement (in many cases a signal state), including its core phase state
  and an indication of whether this state is permissive or protected.

 It is expected that the allowed transitions from one state to another will be defined by regional deployments. Not all
 regions will use all states; however, no new states are to be defined. In most regions a regulatory body provides precise
 legal definitions of these state changes. For example, in the US the MUTCD is used, as is indicated in the US regional
 variant of the above image. In various regions and modes of transportation, the visual expression of these states varies
 (the precise meaning of various color combinations, shapes, and/or flashing etc.). The below definition is designed to to
 be independent of these regional conventions.

 Values:
 - `unavailable` - 0:         This state is used for unknown or error
 - `dark` - 1:                The signal head is dark (unlit)
 - `stop-Then-Proceed` - 2:   Often called 'flashing red'
                              Driver Action:
                              - Stop vehicle at stop line.
                              - Do not proceed unless it is safe.
                              Note that the right to proceed either right or left when it is safe may be contained in the lane description to
                              handle what is called a 'right on red'
 - `stop-And-Remain` - 3:     e.g. called 'red light'
                              Driver Action:
                              - Stop vehicle at stop line.
                              - Do not proceed.
                              Note that the right to proceed either right or left when it is safe may be contained in the lane description to
                              handle what is called a 'right on red'
 - `pre-Movement` - 4:        Not used in the US, red+yellow partly in EU
                              Driver Action:
                              - Stop vehicle.
                              - Prepare to proceed (pending green)
                              - (Prepare for transition to green/go)
 - `permissive-Movement-Allowed` - 5: Often called 'permissive green'
                              Driver Action:
                              - Proceed with caution,
                              - must yield to all conflicting traffic
                              Conflicting traffic may be present in the intersection conflict area
 - `protected-Movement-Allowed` - 6: Often called 'protected green'
                              Driver Action:
                              - Proceed, tossing caution to the wind, in indicated (allowed) direction.
 - `permissive-clearance` - 7: Often called 'permissive yellow'.
                              The vehicle is not allowed to cross the stop bar if it is possible
                              to stop without danger.
                              Driver Action:
                              - Prepare to stop.
                              - Proceed if unable to stop,
                              - Clear Intersection.
                              Conflicting traffic may be present in the intersection conflict area
 - `protected-clearance` - 8:  Often called 'protected yellow'
                              Driver Action:
                              - Prepare to stop.
                              - Proceed if unable to stop, in indicated direction (to connected lane)
                              - Clear Intersection.
 - `caution-Conflicting-Traffic` - 9: Often called 'flashing yellow'
                              Often used for extended periods of time
                              Driver Action:
                              - Proceed with caution,
                              Conflicting traffic may be present in the intersection conflict area

Values:
* **unavailable** (0)<br>
* **dark** (1)<br>
* **stop-Then-Proceed** (2)<br>
* **stop-And-Remain** (3)<br>
* **pre-Movement** (4)<br>
* **permissive-Movement-Allowed** (5)<br>
* **protected-Movement-Allowed** (6)<br>
* **permissive-clearance** (7)<br>
* **protected-clearance** (8)<br>
* **caution-Conflicting-Traffic** (9)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
MovementPhaseState ::= ENUMERATED {
  unavailable (0),
  dark (1),
  stop-Then-Proceed (2),
  stop-And-Remain (3),
  pre-Movement (4),
  permissive-Movement-Allowed (5),
  protected-Movement-Allowed (6),
  permissive-clearance (7),
  protected-clearance (8),
  caution-Conflicting-Traffic (9)
}
```

### <a name="MsgCount"></a>MsgCount
This DE is used to provide a sequence number within a stream of messages with the same DSRCmsgID and from the same sender.
 A sender may initialize this element to any value in the range 0-127 when sending the first message with a given DSRCmsgID,
 or if the sender has changed identity (e.g. by changing its TemporaryID) since sending the most recent message with that DSRCmsgID.

 Depending on the application the sequence number may change with every message or may remain fixed during a stream of messages when the content within each
 message has not changed from the prior message sent. For this element, the value after 127 is zero.

 The receipt of a non-sequential MsgCount value (from the same sending device and message type) implies that one or
 more messages from that sending device may have been lost, unless MsgCount has been re-initialized due to an identity
 change.


 In usage, some devices change their Temporary ID frequently, to prevent identity tracking, while others do not. A change
 in Temporary ID data element value (which also changes the message contents in which it appears) implies that the
 MsgCount may also change value.

 If a sender is composing a message with new content with a given DSRCmsgID, and the TemporaryID has not changed
 since it sent the previous message, the sender shall increment the previous value.
 If a sender is composing a message with new content with a given DSRCmsgID, and the TemporaryID has changed since
 it sent the previous message, the sender may set the MsgCount element to any valid value in the range (including
 incrementing the previous value).

 If a sender is composing a message with the same content as the most recent message with the same DSRCmsgID, and
 less than 10 seconds have elapsed since it sent the previous message with that DSRCmsgID, the sender will use the
 same MsgCount as sent in the previous message.

 If a sender is composing a message with the same content as the most recent message with the same DSRCmsgID, and
 at least 10 seconds have elapsed since it sent the previous message with that DSRCmsgID, the sender may set the
 MsgCount element to any valid value in the range; this includes the re-use of the previous value.

 If a sending device sends more than one stream of messages from message types that utilize the MsgCount element, it
 shall maintain a separate MsgCount state for each message type so that the MsgCount value in a given message
 identifies its place in the stream of that message type. The MsgCount element is a function only of the message type in a
 given sending device, not of the one or more applications in that device which may be sending the same type of message.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;In the absence of additional requirements defined in a standard using this data element, the follow guidelines shall be used.
>>>

```asn1
MsgCount ::= INTEGER (0..127)
```

### <a name="Offset-B09"></a>Offset-B09
A 9-bit delta offset in X, Y or Z direction from some known point. For non-vehicle centric coordinate frames of
 reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
 indicate an unknown value.
 a range of +- 2.55 meters

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Offset-B09 ::= INTEGER (-256..255)
```

### <a name="Offset-B10"></a>Offset-B10
A 10-bit delta offset in X, Y or Z direction from some known point. For non-vehicle centric coordinate frames of
 reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
 indicate an unknown value.
 a range of +- 5.11 meters

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Offset-B10 ::= INTEGER (-512..511)
```

### <a name="Offset-B11"></a>Offset-B11
An 11-bit delta offset in X or Y direction from some known point. For non-vehicle centric coordinate frames of
 reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
 indicate an unknown value.
 a range of +- 10.23 meters

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Offset-B11 ::= INTEGER (-1024..1023)
```

### <a name="Offset-B12"></a>Offset-B12
A 12-bit delta offset in X, Y or Z direction from some known point. For non-vehicle centric coordinate frames of
 reference, non-vehicle centric coordinate frames of reference, offset is positive to the East (X) and to the North (Y)
 directions. The most negative value shall be used to indicate an unknown value.
 a range of +- 20.47 meters

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Offset-B12 ::= INTEGER (-2048..2047)
```

### <a name="Offset-B13"></a>Offset-B13
A 13-bit delta offset in X or Y direction from some known point. For non-vehicle centric coordinate frames of
 reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
 indicate an unknown value.
 a range of +- 40.95 meters

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Offset-B13 ::= INTEGER (-4096..4095)
```

### <a name="Offset-B14"></a>Offset-B14
A 14-bit delta offset in X or Y direction from some known point. For non-vehicle centric coordinate frames of
 reference, offset is positive to the East (X) and to the North (Y) directions.
 a range of +- 81.91 meters

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Offset-B14 ::= INTEGER (-8192..8191)
```

### <a name="Offset-B16"></a>Offset-B16
A 16-bit delta offset in X, Y or Z direction from some known point. For non-vehicle centric coordinate frames of
 reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
 indicate an unknown value.
 a range of +- 327.68 meters

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Offset-B16 ::= INTEGER (-32768..32767)
```

### <a name="PedestrianBicycleDetect"></a>PedestrianBicycleDetect
This DE is used to provide an indication of whether Pedestrians and/or Bicyclists have been detected in the crossing lane.
 true if ANY Pedestrians or Bicyclists are detected crossing the target lane or lanes

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
PedestrianBicycleDetect ::= BOOLEAN
```

### <a name="PositionConfidence"></a>PositionConfidence
This DE entry is used to provide the 95% confidence level for the currently reported value of
 entries such as the DE_Position entries, taking into account the current calibration and precision of the sensor(s) used to
 measure and/or calculate the value. It is used in the horizontal plane. This data element is only to provide the listener with
 information on the limitations of the sensing system; not to support any type of automatic error correction or to imply a
 guaranteed maximum error. This data element should not be used for fault detection or diagnosis, but if a vehicle is able
 to detect a fault, the confidence interval should be increased accordingly. The frame of reference and axis of rotation used
 shall be accordance with that defined in Section 11 of this standard.

 - `unavailable` - 0: B'0000 Not Equipped or unavailable
 - `a500m`       - 1: B'0001 500m or about 5 * 10 ^ -3 decimal degrees
 - `a200m`       - 2: B'0010 200m or about 2 * 10 ^ -3 decimal degrees
 - `a100m`       - 3: B'0011 100m or about 1 * 10 ^ -3 decimal degrees
 - `a50m`        - 4: B'0100 50m or about 5 * 10 ^ -4 decimal degrees
 - `a20m`        - 5: B'0101 20m or about 2 * 10 ^ -4 decimal degrees
 - `a10m`        - 6: B'0110 10m or about 1 * 10 ^ -4 decimal degrees
 - `a5m`         - 7: B'0111 5m or about 5 * 10 ^ -5 decimal degrees
 - `a2m`         - 8: B'1000 2m or about 2 * 10 ^ -5 decimal degrees
 - `a1m`         - 9: B'1001 1m or about 1 * 10 ^ -5 decimal degrees
 - `a50cm`       - 10: B'1010 0.50m or about 5 * 10 ^ -6 decimal degrees
 - `a20cm`       - 11: B'1011 0.20m or about 2 * 10 ^ -6 decimal degrees
 - `a10cm`       - 12: B'1100 0.10m or about 1 * 10 ^ -6 decimal degrees
 - `a5cm`        - 13: B'1101 0.05m or about 5 * 10 ^ -7 decimal degrees
 - `a2cm`        - 14: B'1110 0.02m or about 2 * 10 ^ -7 decimal degrees
 - `a1cm`        - 15) B'1111 0.01m or about 1 * 10 ^ -7 decimal degrees
 - Encoded as a 4 bit value

Values:
* **unavailable** (0)<br>
* **a500m** (1)<br>
* **a200m** (2)<br>
* **a100m** (3)<br>
* **a50m** (4)<br>
* **a20m** (5)<br>
* **a10m** (6)<br>
* **a5m** (7)<br>
* **a2m** (8)<br>
* **a1m** (9)<br>
* **a50cm** (10)<br>
* **a20cm** (11)<br>
* **a10cm** (12)<br>
* **a5cm** (13)<br>
* **a2cm** (14)<br>
* **a1cm** (15)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
PositionConfidence ::= ENUMERATED {
   unavailable (0),
   a500m   (1),
   a200m   (2),
   a100m   (3),
   a50m    (4),
   a20m    (5),
   a10m    (6),
   a5m     (7),
   a2m     (8),
   a1m     (9),
   a50cm  (10),
   a20cm  (11),
   a10cm  (12),
   a5cm   (13),
   a2cm   (14),
   a1cm   (15)
 }
```

### <a name="PrioritizationResponseStatus"></a>PrioritizationResponseStatus
This DE is used in the [**PrioritizationResponse**](#PrioritizationResponse) data frame to indicate the
 general status of a prior prioritization request.

 - `unknown`           - 0: Unknown state
 - `requested`         - 1: This prioritization request was detected by the traffic controller
 - `processing`        - 2: Checking request (request is in queue, other requests are prior)
 - `watchOtherTraffic` - 3: Cannot give full permission, therefore watch for other traffic. Note that other requests may be present
 - `granted`           - 4: Intervention was successful and now prioritization is active
 - `rejected`          - 5: The prioritization or preemption request was rejected by the traffic controller
 - `maxPresence`       - 6: The Request has exceeded maxPresence time. Used when the controller has determined that the requester should then back off and request an alternative.
 - `reserviceLocked`   - 7: Prior conditions have resulted in a reservice
                            locked event: the controller requires the passage of time before another similar request will be accepted

Values:
* **unknown** (0)<br>
* **requested** (1)<br>
* **processing** (2)<br>
* **watchOtherTraffic** (3)<br>
* **granted** (4)<br>
* **rejected** (5)<br>
* **maxPresence** (6)<br>
* **reserviceLocked** (7)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
PrioritizationResponseStatus ::= ENUMERATED {
  unknown           (0),
  requested         (1),
  processing        (2),
  watchOtherTraffic (3),
  granted           (4),
  rejected          (5),
  maxPresence       (6),
  reserviceLocked   (7),
  ...
}
```

### <a name="PriorityRequestType"></a>PriorityRequestType
This DE provides a means to indicate if a request (found in the Signal RequestMessage) represents
 a new service request, a request update, or a request cancellation for either preemption or priority services.

Values:
* **priorityRequestTypeReserved** (0)<br>
* **priorityRequest** (1)<br>
* **priorityRequestUpdate** (2)<br>
* **priorityCancellation** (3)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
PriorityRequestType ::= ENUMERATED {
  priorityRequestTypeReserved (0),
  priorityRequest             (1),
  priorityRequestUpdate       (2),
  priorityCancellation        (3),
  ...
}
```

### <a name="RegionId"></a>RegionId
This DE is used to define regions where unique additional content may be added and
 used in the message set. The index values defined below represent various regions known at the time of publication. This
 list is expected to grow over time. The index values assigned here can be augmented by local (uncoordinated)
 assignments in the allowed range. It should be noted that such a local value is specified in the "REGION" ASN module, so
 there is no need to edit the DSRC ASN specification of the standard. This process is further described in Section 11.1.

 - `noRegion` - 0: Use default supplied stubs
 - `addGrpA`  - 1: USA
 - `addGrpB`  - 2: Japan
 - `addGrpC`  - 3: EU

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;new registered regional IDs will be added here
        The values 128 and above are for local region use
>>>

```asn1
RegionId ::= INTEGER (0..255)
  noRegion     RegionId ::= 0
  addGrpA      RegionId ::= 1
  addGrpB      RegionId ::= 2
  addGrpC      RegionId ::= 3
```

### <a name="RequestID"></a>RequestID
This DE is used to provide a unique ID between two parties for various dialog exchanges.
 Combined with the sender's VehicleID (consisting of a TempID or a Station ID), this provides a unique string for some
 mutually defined period of time. A typical example of use would be a signal preemption or priority request dialog
 containing multiple requests from one sender (denoted by the unique RequestID with each). When such a request is
 processed and reflected in the signal status messages, the original sender and the specific request can both be determined.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;In typical use, this value is simply incremented in a modulo fashion to ensure a unique stream of values for the
        device creating it. Any needs for uniqueness across multiple dialogs to one or more parties shall be the responsibility of
        the device to manage. There are often normative restrictions on the device changing its TempID during various dialogs
        when this data element is used. Further details of these operational concepts can be found in the relevant standards.
>>>

```asn1
RequestID ::= INTEGER (0..255)
```

### <a name="RequestImportanceLevel"></a>RequestImportanceLevel
This DE is used to state what type of signal request is being made to a signal
 controller by a DSRC device in a defined role (such as a police vehicle). The levels of the request typically convey a
 sense of urgency or importance with respect to other demands to allow the controller to use predefined business rules to
 determine how to respond. These rules will vary in terms of how details of overall importance and urgency are to be
 ranked, so they are to be implemented locally. As a result of this regional process, the list below should be assigned well-
 defined meanings by the local deployment. These meaning will typically result in assigning a set of values to list for each
 vehicle role type that is to be supported.

 - `requestImportanceLevel1`     1: The least important request
 - `requestImportanceLevel14`   14: The most important request
 - `requestImportanceReserved`  15: Reserved for future use

Values:
* **requestImportanceLevelUnKnown** (0)<br>
* **requestImportanceLevel1** (1)<br>
* **requestImportanceLevel2** (2)<br>
* **requestImportanceLevel3** (3)<br>
* **requestImportanceLevel4** (4)<br>
* **requestImportanceLevel5** (5)<br>
* **requestImportanceLevel6** (6)<br>
* **requestImportanceLevel7** (7)<br>
* **requestImportanceLevel8** (8)<br>
* **requestImportanceLevel9** (9)<br>
* **requestImportanceLevel10** (10)<br>
* **requestImportanceLevel11** (11)<br>
* **requestImportanceLevel12** (12)<br>
* **requestImportanceLevel13** (13)<br>
* **requestImportanceLevel14** (14)<br>
* **requestImportanceReserved** (15)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RequestImportanceLevel ::= ENUMERATED {
  requestImportanceLevelUnKnown  (0),
  requestImportanceLevel1        (1),
  requestImportanceLevel2        (2),
  requestImportanceLevel3        (3),
  requestImportanceLevel4        (4),
  requestImportanceLevel5        (5),
  requestImportanceLevel6        (6),
  requestImportanceLevel7        (7),
  requestImportanceLevel8        (8),
  requestImportanceLevel9        (9),
  requestImportanceLevel10      (10),
  requestImportanceLevel11      (11),
  requestImportanceLevel12      (12),
  requestImportanceLevel13      (13),
  requestImportanceLevel14      (14),
  requestImportanceReserved     (15)
}
```

### <a name="RequestSubRole"></a>RequestSubRole
This DE is used to further define the details of the role which any DSRC device might
 play when making a request to a signal controller. This value is not always needed. For example, perhaps in a
 deployment all police vehicles are to be treated equally. The taxonomy of what details are selected to be entered into the
 list is a regional choice but should be devised to allow the controller to use predefined business rules to respond using the
 data. As another example, perhaps in a regional deployment a cross-city express type of transit vehicle is given a different
 service response for the same request than another type of transit vehicle making an otherwise similar request. As a
 result of this regional process, the list below should be assigned well-defined meanings by the local deployment. These
 meanings will typically result in assigning a set of values to list for each vehicle role type that is to be supported.

 - `requestSubRole1`        - 1:  The first type of sub role
 - `requestSubRole14`       - 14: The last type of sub role
 - `requestSubRoleReserved` - 15: Reserved for future use

Values:
* **requestSubRoleUnKnown** (0)<br>
* **requestSubRole1** (1)<br>
* **requestSubRole2** (2)<br>
* **requestSubRole3** (3)<br>
* **requestSubRole4** (4)<br>
* **requestSubRole5** (5)<br>
* **requestSubRole6** (6)<br>
* **requestSubRole7** (7)<br>
* **requestSubRole8** (8)<br>
* **requestSubRole9** (9)<br>
* **requestSubRole10** (10)<br>
* **requestSubRole11** (11)<br>
* **requestSubRole12** (12)<br>
* **requestSubRole13** (13)<br>
* **requestSubRole14** (14)<br>
* **requestSubRoleReserved** (15)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RequestSubRole ::= ENUMERATED {
  requestSubRoleUnKnown    (0),
  requestSubRole1          (1),
  requestSubRole2          (2),
  requestSubRole3          (3),
  requestSubRole4          (4),
  requestSubRole5          (5),
  requestSubRole6          (6),
  requestSubRole7          (7),
  requestSubRole8          (8),
  requestSubRole9          (9),
  requestSubRole10        (10),
  requestSubRole11        (11),
  requestSubRole12        (12),
  requestSubRole13        (13),
  requestSubRole14        (14),
  requestSubRoleReserved  (15)
}
```

### <a name="RestrictionAppliesTo"></a>RestrictionAppliesTo
The RestrictionAppliesTo data element provides a short list of common vehicle types which may have one or more
 special movements at an intersection. In general, these movements are not visible to other traffic with signal heads, but
 the SPAT data reflects the state of the movement. Various restricted movements at an intersection can be expressed
 using this element to indicate where the movement applies.

 - `none` :              applies to nothing
 - `equippedTransit`:    buses etc.
 - `equippedTaxis`:
 - `equippedOther`:      other vehicle types with necessary signal phase state reception equipment
 - `emissionCompliant`:  regional variants with more definitive items also exist
 - `equippedBicycle`:
 - `weightCompliant`:
 - `heightCompliant`:    Items dealing with traveler needs serviced by the infrastructure. These end users (which are not vehicles) are presumed to be suitably equipped
 - `pedestrians`:
 - `slowMovingPersons`:
 - `wheelchairUsers`:
 - `visualDisabilities`:
 - `audioDisabilities`:  hearing

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RestrictionAppliesTo ::= ENUMERATED {
  none,
  equippedTransit,
  equippedTaxis,
  equippedOther,
  emissionCompliant,
  equippedBicycle,
  weightCompliant,
  heightCompliant,
  pedestrians,
  slowMovingPersons,
  wheelchairUsers,
  visualDisabilities,
  audioDisabilities,
  otherUnknownDisabilities,
  ...
}
```

### <a name="RestrictionClassID"></a>RestrictionClassID
This DE defines an intersection-unique value to convey data about classes of users.
 The mapping used varies with each intersection and is defined in the MAP message if needed. The defined mappings
 found there are used to determine when a given class is meant. The typical use of this element is to map additional
 movement restrictions or rights (in both the MAP and SPAT messages) to special classes of users (trucks, high sided
 vehicles, special vehicles etc.). There is the general presumption that in the absence of this data, any allowed movement
 extends to all users.

 An index value to identify data about classes of users the value used varies with each intersection's
 needs and is defined in the map to the assigned classes of supported users.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RestrictionClassID ::= INTEGER (0..255)
```

### <a name="RoadRegulatorID"></a>RoadRegulatorID
This DE is a 16-bit globally unique identifier assigned to an entity responsible for assigning
 Intersection IDs in the region over which it has such authority. The value zero shall be used for testing, and should only be
 used in the absence of a suitable assignment. A single entity which assigns intersection IDs may be assigned several
 RoadRegulatorIDs. These assignments are presumed to be permanent.

 The value zero shall be used for testing only

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RoadRegulatorID ::= INTEGER (0..65535)
```

### <a name="RoadSegmentID"></a>RoadSegmentID
This DE is used to uniquely define a section of roadway within a country or region in a 16-bit field.
 Assignment rules for this value are established elsewhere and may use regional assignment schemas that vary. Within
 the region the policies used to ensure an assigned valueâs uniqueness before that value is reused is the responsibility of
 that region. Such reuse is expected to occur, but over somewhat lengthy epoch (months).

 The values zero to 255 shall be used for testing only
 Note that the value assigned to an RoadSegment will be
 unique within a given regional ID only during its use

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RoadSegmentID ::= INTEGER (0..65535)
```

### <a name="RoadwayCrownAngle"></a>RoadwayCrownAngle
The RoadwayCrownAngle data element relates the gross tangential angle of the roadway surface with respect to
 the local horizontal axis and is measured at the indicated part of the lane. This measurement is typically made at the
 crown (centerline) or at an edge of the lane path. Its typical use is to relate data used in speed warning and traction
 calculations for the lane segment or roadway segment in which the measurement is taken.

 - The value -128 shall be used for unknown
 - The value zero shall be used for angles which are between -0.15 and +0.15

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.3 degrees of angle over a range of -38.1 to + 38.1 degrees_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RoadwayCrownAngle ::= INTEGER (-128..127)
```

### <a name="RTCMmessage"></a>RTCMmessage
This DE contains the stream of octets of the actual RTCM message that is being sent.
 The messageâs contents are defined in RTCM Standard 10403.1 and in RTCM Standard 10402.1 and its successors.
 Note that most RTCM messages are considerably smaller than the size limit defined here, but that some messages may
 need to be broken into smaller messages (as per the rules defined in the RTCM work) in order to be transmitted over DSRC.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
RTCMmessage ::= OCTET STRING (SIZE(1..1023))
```

### <a name="RTCM-Revision"></a>RTCM-Revision
This DE provides the specific revision of the RTCM standard which is being used. This is
 helpful to know precisely the mapping of the message types to their definitions, as well as some minor transport layer
 ordering details when received in the mobile unit. All RTCM SC-104 messages follow a common message numbering
 method (wherein all defined messages are given unique values) which can be decoded from the initial octets of the
 message. This operation is typically performed by the GNSS rover that consumes the messages, so it is transparent at
 the DSRC message set level.

 Values:
 - `rtcmRev2`:  Std 10402.x et al
 - `rtcmRev3`:  Std 10403.x et al

Values:
* **unknown** (0)<br>
* **rtcmRev2** (1)<br>
* **rtcmRev3** (2)<br>
* **reserved** (3)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;In order to fully support the use of networked transport of RTCM corrections (so-called Ntrip systems), the
         enumerated list of protocol types provides for all the common types outlined in RTCM Standard 10410.0, Appendix B. It is
         anticipated that revisions 3.x and 2.3 will predominate in practice as they do today. It should also be noted that RTCM
         standards use the term `byte` for an 8-bit value, while in this standard the term `octet` is used.
>>>

```asn1
RTCM-Revision ::= ENUMERATED {
  unknown  (0),
  rtcmRev2 (1),
  rtcmRev3 (2),
  reserved (3),
  ...
}
```

### <a name="Scale-B12"></a>Scale-B12
A 12-bit signed scaling factor supporting scales from zero (which is not used) to >200%. In this data element, the
 value zero is taken to represent a value of one (scale 1:1). Values above and below this add or remove exactly 0.05%
 from the initial value of 100%. Hence, a value of 2047 adds 102.35% to 100%, resulting in a scale of 202.35% exactly (the
 largest valid scale value). Negative values which would result in an effective final value below zero are not supported. The
 smallest valid value allowed is -1999 and the remaining negative values are reserved for future definition.

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _in steps of 0.05 percent_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Scale-B12 ::= INTEGER (-2048..2047)
```

### <a name="SignalGroupID"></a>SignalGroupID
This DE is an index used to map between the internal state machine of one or more signal controllers (or
 other types of traffic flow devices) and a common numbering system that can represent all possible combinations of active
 states (movements and phases in US traffic terminology). All possible movement variations are assigned a unique value
 within the intersection. Conceptually, the ID represents a means to provide a list of lanes in a set which would otherwise
 need to be enumerated in the message. The values zero and 255 are reserved, so there may up to 254 different signal
 group IDs within one single intersection. The value 255 represents a protected-Movement-Allowed or permissive-
 Movement-Allowed condition that exists at all times. This value is applied to lanes, with or without traffic control devices,
 that operate as free-flow lanes. Typically referred to as Channelized Right/Left Turn Lanes (in right/left-hand drive
 countries).

 Values:
 - the value `0` shall be used when the ID is not available or not known
 - the value `255` is reserved to indicate a permanent green movement state
 - therefore a simple 8 phase signal controller device might use 1..9 as its groupIDs

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SignalGroupID ::= INTEGER (0..255)
```

### <a name="SegmentAttributeXY"></a>SegmentAttributeXY
This DE is an enumerated list of attributes about the current lane segment which
 may be enabled or disabled to indicate the presence or absence of the selected attribute on the segment. A segment is
 one or more of the straight lines formed between each set of node points. It is common for a segment attribute to persist
 for more than one set of node points if there is any curvature in the lane itself. The described attributes are all binary flags
 in that they do not need to convey any additional data. Other attributes allow sending short data values to reflect a setting
 which is set and persists in a similar fashion.

 Various values which can be Enabled and Disabled for a lane segment
 - reserved:
 - doNotBlock: segment where a vehicle may not come to a stop
 - whiteLine:  segment where lane crossing not allowed such as the final few meters of a lane 
 - mergingLaneLeft: indicates porous lanes
 - mergingLaneRight: indicates porous lanes
 - curbOnLeft: indicates presence of curbs
 - curbOnRight: indicates presence of curbs
 - loadingzoneOnLeft:  loading or drop off zones
 - loadingzoneOnRight: loading or drop off zones
 - turnOutPointOnLeft: opening to adjacent street/alley/road
 - turnOutPointOnRight: opening to adjacent street/alley/road
 - adjacentParkingOnLeft: side of road parking
 - adjacentParkingOnRight: side of road parking
 - adjacentBikeLaneOnLeft: presence of marked bike lanes
 - adjacentBikeLaneOnRight: presence of marked bike lanes
 - sharedBikeLane: right of way is shared with bikes who may occupy entire lane width
 - bikeBoxInFront:
 - transitStopOnLeft: any form of bus/transit loading, with pull in-out access to lane on left
 - transitStopOnRight: any form of bus/transit loading, with pull in-out access to lane on right
 - transitStopInLane: any form of bus/transit loading, in mid path of the lane
 - sharedWithTrackedVehicle: lane is shared with train or trolley, not used for crossing tracks 
 - safeIsland: begin/end a safety island in path
 - lowCurbsPresent: for ADA support
 - rumbleStripPresent: for ADA support
 - audibleSignalingPresent: for ADA support
 - adaptiveTimingPresent: for ADA support
 - rfSignalRequestPresent: Supports RF push to walk technologies
 - partialCurbIntrusion: path is blocked by a median or curb but at least 1 meter remains open for use
                         and at-grade passage Lane geometry details
 - taperToLeft: Used to control final path shape (see standard for defined shapes)
 - taperToRight: Used to control final path shape (see standard for defined shapes)
 - taperToCenterLine: Used to control final path shape (see standard for defined shapes)
 - parallelParking: Parking at an angle with the street
 - headInParking:   Parking at an angle with the street
 - freeParking:     No restriction on use of parking
 - timeRestrictionsOnParking: Parking is not permitted at all times
                              typically used when the 'parking' lane becomes a driving lane at times
 - costToPark: Used where parking has a cost
 - midBlockCurbPresent: a protruding curb near lane edge
 - unEvenPavementPresent: a disjoint height at lane edge

Values:
* **reserved** <br>
* **doNotBlock** <br>
* **whiteLine** <br>
* **mergingLaneLeft** <br>
* **mergingLaneRight** <br>
* **curbOnLeft** <br>
* **curbOnRight** <br>
* **loadingzoneOnLeft** <br>
* **loadingzoneOnRight** <br>
* **turnOutPointOnLeft** <br>
* **turnOutPointOnRight** <br>
* **adjacentParkingOnLeft** <br>
* **adjacentParkingOnRight** <br>
* **adjacentBikeLaneOnLeft** <br>
* **adjacentBikeLaneOnRight** <br>
* **sharedBikeLane** <br>
* **bikeBoxInFront** <br>
* **transitStopOnLeft** <br>
* **transitStopOnRight** <br>
* **transitStopInLane** <br>
* **sharedWithTrackedVehicle** <br>
* **safeIsland** <br>
* **lowCurbsPresent** <br>
* **rumbleStripPresent** <br>
* **audibleSignalingPresent** <br>
* **adaptiveTimingPresent** <br>
* **rfSignalRequestPresent** <br>
* **partialCurbIntrusion** <br>
* **taperToLeft** <br>
* **taperToRight** <br>
* **taperToCenterLine** <br>
* **parallelParking** <br>
* **headInParking** <br>
* **freeParking** <br>
* **timeRestrictionsOnParking** <br>
* **costToPark** <br>
* **midBlockCurbPresent** <br>
* **unEvenPavementPresent** <br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SegmentAttributeXY ::= ENUMERATED {
  reserved                  ,
  doNotBlock                ,
  whiteLine                 ,
  mergingLaneLeft           ,
  mergingLaneRight          ,
  curbOnLeft                ,
  curbOnRight               ,
  loadingzoneOnLeft         ,
  loadingzoneOnRight        ,
  turnOutPointOnLeft        ,
  turnOutPointOnRight       ,
  adjacentParkingOnLeft     ,
  adjacentParkingOnRight    ,
  adjacentBikeLaneOnLeft    ,
  adjacentBikeLaneOnRight   ,
  sharedBikeLane            ,
  bikeBoxInFront            ,
  transitStopOnLeft         ,
  transitStopOnRight        ,
  transitStopInLane         ,
  sharedWithTrackedVehicle  ,
  safeIsland                ,
  lowCurbsPresent           ,
  rumbleStripPresent        ,
  audibleSignalingPresent   ,
  adaptiveTimingPresent     ,
  rfSignalRequestPresent    ,
  partialCurbIntrusion      ,
  taperToLeft               ,
  taperToRight              ,
  taperToCenterLine         ,
  parallelParking           ,
  headInParking             ,
  freeParking               ,
  timeRestrictionsOnParking ,
  costToPark                ,
  midBlockCurbPresent       ,
  unEvenPavementPresent     ,
  ...
}
```

### <a name="SemiMajorAxisAccuracy"></a>SemiMajorAxisAccuracy
This DE is used to express the radius (length) of the semi-major axis of an
 ellipsoid representing the accuracy which can be expected from a GNSS system in 5cm steps,
 typically at a one sigma level of confidence.

 Value is semi-major axis accuracy at one standard dev.
 - Range 0-12.7 meter, LSB = .05m
 - 254 = any value equal or greater than 12.70 meter
 - 255 = unavailable semi-major axis value

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.05m_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SemiMajorAxisAccuracy ::= INTEGER (0..255)
```

### <a name="SemiMajorAxisOrientation"></a>SemiMajorAxisOrientation
This DE is used to orientate the angle of the semi-major axis of an
 ellipsoid representing the accuracy which can be expected from a GNSS system with respect to the coordinate system.

 Value is orientation of semi-major axis
 - relative to true north (0-359.9945078786 degrees)
 - LSB units of 360/65535 deg = 0.0054932479
 - a value of 0 shall be 0 degrees
 - a value of 1 shall be 0.0054932479 degrees
 - a value of 65534 shall be 359.9945078786 deg
 - a value of 65535 shall be used for orientation unavailable

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _360/65535 degree_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SemiMajorAxisOrientation ::= INTEGER (0..65535)
```

### <a name="SemiMinorAxisAccuracy"></a>SemiMinorAxisAccuracy
This DE is used to express the radius of the semi-minor axis of an ellipsoid
 representing the accuracy which can be expected from a GNSS system in 5cm steps, typically at a one sigma level of
 confidence.

 Value is semi-minor axis accuracy at one standard dev
 - range 0-12.7 meter, LSB = .05m
 - 254 = any value equal or greater than 12.70 meter
 - 255 = unavailable semi-minor axis value

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.05m_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SemiMinorAxisAccuracy ::= INTEGER (0..255)
```

### <a name="SpeedAdvice"></a>SpeedAdvice
This data element represents the recommended velocity of an object, typically a vehicle speed along a roadway,
 expressed in unsigned units of 0.1 meters per second.

 - LSB units are 0.1 m/s
 - the value 499 shall be used for values at or greater than 49.9 m/s
 - the value 500 shall be used to indicate that speed is unavailable

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.1 m/s_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SpeedAdvice ::= INTEGER (0..500)
```

### <a name="SpeedConfidenceDSRC"></a>SpeedConfidenceDSRC
This DE is used to provide the 95% confidence level for the currently reported
 value of [**Speed**](#Speed), taking into account the current calibration and precision of the sensor(s) used to measure and/or
 calculate the value. This data element is only to provide the listener with information on the limitations of the sensing
 system, not to support any type of automatic error correction or to imply a guaranteed maximum error. This data element
 should not be used for fault detection or diagnosis, but if a vehicle is able to detect a fault, the confidence interval should
 be increased accordingly.

 - 0 - `unavailable` : Not Equipped or unavailable
 - 1 - `prec100ms`   : 100  meters / sec
 - 2 - `prec10ms`    : 10   meters / sec
 - 3 - `prec5ms`     : 5    meters / sec
 - 4 - `prec1ms`     : 1    meters / sec
 - 5 - `prec0-1ms`   : 0.1  meters / sec
 - 6 - `prec0-05ms`  : 0.05 meters / sec
 - 7 - `prec0-01ms`  : 0.01 meters / sec

Values:
* **unavailable** (0)<br>
* **prec100ms** (1)<br>
* **prec10ms** (2)<br>
* **prec5ms** (3)<br>
* **prec1ms** (4)<br>
* **prec0-1ms** (5)<br>
* **prec0-05ms** (6)<br>
* **prec0-01ms** (7)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
SpeedConfidenceDSRC ::= ENUMERATED {
   unavailable (0),
   prec100ms   (1),
   prec10ms    (2),
   prec5ms     (3),
   prec1ms     (4),
   prec0-1ms   (5),
   prec0-05ms  (6),
   prec0-01ms  (7)
 }
```

### <a name="TemporaryID"></a>TemporaryID
This is the 4 octet random device identifier, called the TemporaryID. When used for a mobile OBU device, this value
 will change periodically to ensure the overall anonymity of the vehicle, unlike a typical wireless or wired 802 device ID.
 Because this value is used as a means to identify the local vehicles that are interacting during an encounter, it is used in
 the message set. Other devices, such as infrastructure (RSUs), may have a fixed value for the temporary ID value. See
 also [**StationId**](#StationId) which is used in other deployment regions.

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;The circumstances and times at which various DSRC devices (notably OBUs) create and change their current
        Temporary ID is a complex application level topic. It should be noted that the Temporary ID is not the same as a device
        MAC value, although when used as a means to uniquely identify a device, both have many common properties. It should
        further be noted that the MAC value for a mobile OBU device (unlike a typical wireless or wired 802 device) will
        periodically change to a new random value to ensure the overall anonymity of the vehicle.
>>>

```asn1
TemporaryID ::= OCTET STRING (SIZE(4))
```

### <a name="ThrottleConfidence"></a>ThrottleConfidence
This DE is used to provide the 95% confidence level for the currently reported
 value of DE [**Throttle**](#Throttle), taking into account the current calibration and precision of the sensor(s) used to measure and/or
 calculate the value. This data element is only to provide information on the limitations of the sensing system, not to
 support any type of automatic error correction or to imply a guaranteed maximum error. This data element should not be
 used for fault detection or diagnosis, but if a vehicle is able to detect a fault, the confidence interval should be increased
 accordingly. If a fault that triggers the MIL is of a nature to render throttle performance unreliable, then ThrottleConfidence
 should be represented as "notEquipped."

 - 0 - `unavailable`:    B'00 Not Equipped or unavailable
 - 1 - `prec10percent`:  B'01 10 percent Confidence level
 - 2 - `prec1percent`:   B'10 1 percent Confidence level
 - 3 - `prec0-5percent`: B'11 0.5 percent Confidence level

Values:
* **unavailable** (0)<br>
* **prec10percent** (1)<br>
* **prec1percent** (2)<br>
* **prec0-5percent** (3)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
ThrottleConfidence ::= ENUMERATED {
   unavailable     (0),
   prec10percent   (1),
   prec1percent    (2),
   prec0-5percent  (3)
 }
```

### <a name="TimeConfidence"></a>TimeConfidence
This DE is used to provide the 95% confidence level for the currently reported value
 of time, taking into account the current calibration and precision of the sensor(s) used to measure and/or calculate the
 value. This data element is only to provide information on the limitations of the sensing system, not to support any type of
 automatic error correction or to imply a guaranteed maximum error. This data element should not be used for fault
 detection or diagnosis, but if a vehicle is able to detect a fault, the confidence interval should be increased accordingly.

 - 0 - `unavailable`  : Not Equipped or unavailable
 - 1 - `time-100-000` : Better than 100 Seconds
 - 2 - `time-050-000` : Better than 50 Seconds
 - 3 - `time-020-000` : Better than 20 Seconds
 - 4 - `time-010-000` : Better than 10 Seconds
 - 5 - `time-002-000` : Better than 2 Seconds
 - 6 - `time-001-000` : Better than 1 Second
 - 7 - `time-000-500` : Better than 0.5 Seconds
 - 8 - `time-000-200` : Better than 0.2 Seconds
 - 9 - `time-000-100` : Better than 0.1 Seconds
 - 10 - `time-000-050` : Better than 0.05 Seconds
 - 11 - `time-000-020` : Better than 0.02 Seconds
 - 12 - `time-000-010` : Better than 0.01 Seconds
 - 13 - `time-000-005` : Better than 0.005 Seconds
 - 14 - `time-000-002` : Better than 0.001 Seconds
 - 15 - `time-000-001` : Better than 0.001 Seconds
 - 16 - `time-000-000-5` : Better than 0.000,5 Seconds
 - 17 - `time-000-000-2` : Better than 0.000,2 Seconds
 - 18 - `time-000-000-1` : Better than 0.000,1 Seconds
 - 19 - `time-000-000-05` : Better than 0.000,05 Seconds
 - 20 - `time-000-000-02` : Better than 0.000,02 Seconds
 - 21 - `time-000-000-01` : Better than 0.000,01 Seconds
 - 22 - `time-000-000-005` : Better than 0.000,005 Seconds
 - 23 - `time-000-000-002` : Better than 0.000,002 Seconds
 - 24 - `time-000-000-001` : Better than 0.000,001 Seconds
 - 25 - `time-000-000-000-5` : Better than 0.000,000,5 Seconds
 - 26 - `time-000-000-000-2` : Better than 0.000,000,2 Seconds
 - 27 - `time-000-000-000-1` : Better than 0.000,000,1 Seconds
 - 28 - `time-000-000-000-05` : Better than 0.000,000,05 Seconds
 - 29 - `time-000-000-000-02` : Better than 0.000,000,02 Seconds
 - 30 - `time-000-000-000-01` : Better than 0.000,000,01 Seconds
 - 31 - `time-000-000-000-005` : Better than 0.000,000,005 Seconds
 - 32 - `time-000-000-000-002` : Better than 0.000,000,002 Seconds
 - 33 - `time-000-000-000-001` : Better than 0.000,000,001 Seconds
 - 34 - `time-000-000-000-000-5` : Better than 0.000,000,000,5 Seconds
 - 35 - `time-000-000-000-000-2` : Better than 0.000,000,000,2 Seconds
 - 36 - `time-000-000-000-000-1` : Better than 0.000,000,000,1 Seconds
 - 37 - `time-000-000-000-000-05` : Better than 0.000,000,000,05 Seconds
 - 38 - `time-000-000-000-000-02` : Better than 0.000,000,000,02 Seconds
 - 39 - `time-000-000-000-000-01` : Better than 0.000,000,000,01 Seconds

Values:
* **unavailable** (0)<br>
* **time-100-000** (1)<br>
* **time-050-000** (2)<br>
* **time-020-000** (3)<br>
* **time-010-000** (4)<br>
* **time-002-000** (5)<br>
* **time-001-000** (6)<br>
* **time-000-500** (7)<br>
* **time-000-200** (8)<br>
* **time-000-100** (9)<br>
* **time-000-050** (10)<br>
* **time-000-020** (11)<br>
* **time-000-010** (12)<br>
* **time-000-005** (13)<br>
* **time-000-002** (14)<br>
* **time-000-001** (15)<br>
* **time-000-000-5** (16)<br>
* **time-000-000-2** (17)<br>
* **time-000-000-1** (18)<br>
* **time-000-000-05** (19)<br>
* **time-000-000-02** (20)<br>
* **time-000-000-01** (21)<br>
* **time-000-000-005** (22)<br>
* **time-000-000-002** (23)<br>
* **time-000-000-001** (24)<br>
* **time-000-000-000-5** (25)<br>
* **time-000-000-000-2** (26)<br>
* **time-000-000-000-1** (27)<br>
* **time-000-000-000-05** (28)<br>
* **time-000-000-000-02** (29)<br>
* **time-000-000-000-01** (30)<br>
* **time-000-000-000-005** (31)<br>
* **time-000-000-000-002** (32)<br>
* **time-000-000-000-001** (33)<br>
* **time-000-000-000-000-5** (34)<br>
* **time-000-000-000-000-2** (35)<br>
* **time-000-000-000-000-1** (36)<br>
* **time-000-000-000-000-05** (37)<br>
* **time-000-000-000-000-02** (38)<br>
* **time-000-000-000-000-01** (39)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
TimeConfidence ::= ENUMERATED {
   unavailable              (0),
   time-100-000             (1),
   time-050-000             (2),
   time-020-000             (3),
   time-010-000             (4),
   time-002-000             (5),
   time-001-000             (6),
   time-000-500             (7),
   time-000-200             (8),
   time-000-100             (9),
   time-000-050            (10),
   time-000-020            (11),
   time-000-010            (12),
   time-000-005            (13),
   time-000-002            (14),
   time-000-001            (15),
   time-000-000-5          (16),
   time-000-000-2          (17),
   time-000-000-1          (18),
   time-000-000-05         (19),
   time-000-000-02         (20),
   time-000-000-01         (21),
   time-000-000-005        (22),
   time-000-000-002        (23),
   time-000-000-001        (24),
   time-000-000-000-5      (25),
   time-000-000-000-2      (26),
   time-000-000-000-1      (27),
   time-000-000-000-05     (28),
   time-000-000-000-02     (29),
   time-000-000-000-01     (30),
   time-000-000-000-005    (31),
   time-000-000-000-002    (32),
   time-000-000-000-001    (33),
   time-000-000-000-000-5  (34),
   time-000-000-000-000-2  (35),
   time-000-000-000-000-1  (36),
   time-000-000-000-000-05 (37),
   time-000-000-000-000-02 (38),
   time-000-000-000-000-01 (39)
}
```

### <a name="TimeIntervalConfidence"></a>TimeIntervalConfidence
This is the statistical confidence for the predicted time of signal group state change. For evaluation, the formula
 10<sup>(x/a)</sup>-b with a=82.5 and b=1.3 was used. The values are encoded as probability classes with proposed values listed in
 the below table in the ASN.1 specification.

 Value: Probability
 - 0 - 21%
 - 1 - 36%
 - 2 - 47%
 - 3 - 56%
 - 4 - 62%
 - 5 - 68%
 - 6 - 73%
 - 7 - 77%
 - 8 - 81%
 - 9 - 85%
 - 10 - 88%
 - 11 - 91%
 - 12 - 94%
 - 13 - 96%
 - 14 - 98%
 - 15 - 100%

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _percent_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
TimeIntervalConfidence ::= INTEGER (0..15)
```

### <a name="TransitVehicleOccupancy"></a>TransitVehicleOccupancy
This DE is used to relate basic level of current ridership.

Values:
* **occupancyUnknown** (0)<br>
* **occupancyEmpty** (1)<br>
* **occupancyVeryLow** (2)<br>
* **occupancyLow** (3)<br>
* **occupancyMed** (4)<br>
* **occupancyHigh** (5)<br>
* **occupancyNearlyFull** (6)<br>
* **occupancyFull** (7)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
TransitVehicleOccupancy ::= ENUMERATED {
  occupancyUnknown    (0),
  occupancyEmpty      (1),
  occupancyVeryLow    (2),
  occupancyLow        (3),
  occupancyMed        (4),
  occupancyHigh       (5),
  occupancyNearlyFull (6),
  occupancyFull       (7)
}
```

### <a name="TransitVehicleStatus"></a>TransitVehicleStatus
This DE is used to relate basic information about the transit run in progress. This is
 typically used in a priority request to a signalized system and becomes part of the input processing for how that system
 will respond to the request.

 - 0 - `loading`:     parking and unable to move at this time
 - 1 - `anADAuse`:    an ADA access is in progress (wheelchairs, kneeling, etc.)
 - 2 - `aBikeLoad`:   loading of a bicycle is in progress
 - 3 - `doorOpen`:    a vehicle door is open for passenger access
 - 4 - `charging`:    a vehicle is connected to charging point
 - 5 - `atStopLine`:  a vehicle is at the stop line for the lane it is in

Values:
* **loading** (0)<br>
* **anADAuse** (1)<br>
* **aBikeLoad** (2)<br>
* **doorOpen** (3)<br>
* **charging** (4)<br>
* **atStopLine** (5)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_

>>>
NOTE:&emsp;Most of these values are used to detect that the transit vehicle in not in a state where movement can occur
 (and that therefore any priority signal should be ignored until the vehicle is again ready to depart).
>>>

```asn1
TransitVehicleStatus ::= BIT STRING {
  loading     (0),
  anADAuse    (1),
  aBikeLoad   (2),
  doorOpen    (3),
  charging    (4),
  atStopLine  (5)
} (SIZE(8))
```

### <a name="TransmissionState"></a>TransmissionState
This DE is used to provide the current state of the vehicle transmission.

Values:
* **neutral** (0)<br>
* **park** (1)<br>
* **forwardGears** (2)<br>
* **reverseGears** (3)<br>
* **reserved1** (4)<br>
* **reserved2** (5)<br>
* **reserved3** (6)<br>
* **unavailable** (7)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
TransmissionState ::= ENUMERATED {
  neutral      (0),
  park         (1),
  forwardGears (2),
  reverseGears (3),
  reserved1    (4),
  reserved2    (5),
  reserved3    (6),
  unavailable  (7)
}
```

### <a name="VehicleHeight"></a>VehicleHeight
The height of the vehicle, measured from the ground to the highest surface, excluding any antenna(s), and
 expressed in units of 5 cm. In cases of vehicles with adjustable ride heights, camper shells, and other devices which may
 cause the overall height to vary, the largest possible height will be used.

 Value is the height of the vehicle, LSB units of 5 cm, range to 6.35 meters

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _5cm_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
VehicleHeight ::= INTEGER (0..127)
```

### <a name="VehicleType"></a>VehicleType
This DE is a type list (i.e., a classification list) of the vehicle in terms of overall size. The
 data element entries follow the definitions defined in the US DOT Highway Performance Monitoring System (HPMS).
 Many infrastructure roadway operators collect and classify data according to this list for regulatory reporting needs.
 Within the ITS industry and within the DSRC message set standards work, there are many similar lists of types for
 overlapping needs and uses.

 - 0 - `none`:       Not Equipped, Not known or unavailable
 - 1 - `unknown`:    Does not fit any other category
 - 2 - `special`:    Special use
 - 3 - `moto`:       Motorcycle
 - 4 - `car`:        Passenger car
 - 5 - `carOther`:   Four tire single units
 - 6 - `bus`:        Buses
 - 7 - `axleCnt2`:   Two axle, six tire single units
 - 8 - `axleCnt3`:   Three axle, single units
 - 9 - `axleCnt4`:   Four or more axle, single unit
 - 10 - `axleCnt4Trailer`:        Four or less axle, single trailer
 - 11 - `axleCnt5Trailer`:        Five or less axle, single trailer
 - 12 - `axleCnt6Trailer`:        Six or more axle, single trailer
 - 13 - `axleCnt5MultiTrailer`:   Five or less axle, multi-trailer
 - 14 - `axleCnt6MultiTrailer`:   Six axle, multi-trailer
 - 15 - `axleCnt7MultiTrailer`:   Seven or more axle, multi-trailer

Values:
* **none** (0)<br>
* **unknown** (1)<br>
* **special** (2)<br>
* **moto** (3)<br>
* **car** (4)<br>
* **carOther** (5)<br>
* **bus** (6)<br>
* **axleCnt2** (7)<br>
* **axleCnt3** (8)<br>
* **axleCnt4** (9)<br>
* **axleCnt4Trailer** (10)<br>
* **axleCnt5Trailer** (11)<br>
* **axleCnt6Trailer** (12)<br>
* **axleCnt5MultiTrailer** (13)<br>
* **axleCnt6MultiTrailer** (14)<br>
* **axleCnt7MultiTrailer** (15)<br>

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
VehicleType ::= ENUMERATED {
  none                 (0),
  unknown              (1),
  special              (2),
  moto                 (3),
  car                  (4),
  carOther             (5),
  bus                  (6),
  axleCnt2             (7),
  axleCnt3             (8),
  axleCnt4             (9),
  axleCnt4Trailer      (10),
  axleCnt5Trailer      (11),
  axleCnt6Trailer      (12),
  axleCnt5MultiTrailer (13),
  axleCnt6MultiTrailer (14),
  axleCnt7MultiTrailer (15),
  ...
}
```

### <a name="Velocity"></a>Velocity
This DE represents the velocity of an object, typically a vehicle speed or the recommended speed of
 travel along a roadway, expressed in unsigned units of 0.02 meters per second. When used with motor vehicles it may be
 combined with the transmission state to form a data frame for use. A value of 8191 shall be used when the speed is
 unavailable. Note that Velocity as used here is intended to be a scalar value and not a vector.

 The value 8191 indicates that velocity is unavailable

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.02 m/s_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
Velocity ::= INTEGER (0..8191)
```

### <a name="WaitOnStopline"></a>WaitOnStopline
This DE is used to indicate to the vehicle that it must stop at the stop line and not move past.

 If "true", the vehicles on this specific connecting maneuver have to stop on the stop-line and not to enter the collision area

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
WaitOnStopline ::= BOOLEAN
```

### <a name="ZoneLength"></a>ZoneLength
This DE is used to provide an estimated distance from the stop bar, along the lane
 centerline back in the lane to which it pertains. It is used in various ways to relate this distance value. When used with
 clearance zones, it represents the point at which the driver can successfully execute the connection maneuver. It is used
 in the Clearance Maneuver Assist data frame to relate dynamic data about the lane. It is also used to relate the distance
 from the stop bar to the rear edge of any queue. It is further used within the context of a vehicle's traveling speed to
 advise on preferred dynamic approach speeds.

 0 = unknown,
 The value 10000 to be used for Distances >=10000 m (e.g. from known point to another point along a
 known path, often against traffic flow direction when used for measuring queues)

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _meter_

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
ZoneLength ::= INTEGER (0..10000)
```



## References:
 1. [ISO TS 19091]: "Intelligent transport systems - Cooperative ITS - Using V2I and I2V communications for applications related to signalized intersections".
 2. [SAE J2735]: "SURFACE VEHICLE STANDARD - V2X Communications Message Set Dictionary"


