ETSI-ITS-DSRC.md 224 KB
Newer Older
ritterth's avatar
ritterth committed
# <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) }_
Thomas Ritter's avatar
Thomas Ritter committed
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]
ritterth's avatar
ritterth committed

## Imports:
Thomas Ritter's avatar
Thomas Ritter committed
* **[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/>
ritterth's avatar
ritterth committed
## Data Elements:
ritterth's avatar
ritterth committed
### <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

ritterth's avatar
ritterth committed
&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Basic Information 

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

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

 It shall include the following components:
ritterth's avatar
ritterth committed

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

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


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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
 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.
ritterth's avatar
ritterth committed

Values:
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  time reference

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

ritterth's avatar
ritterth committed
* _layerType_ of type [**LayerType**](#LayerType)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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.

ritterth's avatar
ritterth committed
* _layerID_ of type [**LayerID**](#LayerID)   OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  This profile extends the purpose of the `layerID` data element as defined in SAE J2735 as follows: For
ritterth's avatar
ritterth committed
                   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).

ritterth's avatar
ritterth committed
* _intersections_ of type [**IntersectionGeometryList**](#IntersectionGeometryList)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  All Intersection definitions.

ritterth's avatar
ritterth committed
* _roadSegments_ of type [**RoadSegmentList**](#RoadSegmentList)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  All roadway descriptions.

ritterth's avatar
ritterth committed
* _dataParameters_ of type [**DataParameters**](#DataParameters)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  Any meta data regarding the map contents.
ritterth's avatar
ritterth committed

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

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

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-MapData}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
 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.
ritterth's avatar
ritterth committed

Values:
* _msgCnt_ of type [**MsgCount**](#MsgCount) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  monotonic incrementing identifier.

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

ritterth's avatar
ritterth committed
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)   OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  time reference

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

ritterth's avatar
ritterth committed
* _rtcmHeader_ of type [**RTCMheader**](#RTCMheader)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  Precise antenna position and noise data for a rover

ritterth's avatar
ritterth committed
* _msgs_ of type [**RTCMmessageList**](#RTCMmessageList) <br>
ritterth's avatar
ritterth committed
  one or more RTCM messages.

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-RTCMcorrections}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
 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.
ritterth's avatar
ritterth committed

Values:
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  time reference

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

ritterth's avatar
ritterth committed
* _intersections_ of type [**IntersectionStateList**](#IntersectionStateList) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  sets of SPAT data (one per intersection)

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.
ritterth's avatar
ritterth committed

Thomas Ritter's avatar
Thomas Ritter committed
* **RegionalExtension** {{Reg-SPAT}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
 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.
ritterth's avatar
ritterth committed

Values:
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)   OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  time reference

ritterth's avatar
ritterth committed
* _second_ of type [**DSecond**](#DSecond) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  time reference

ritterth's avatar
ritterth committed
* _sequenceNumber_ of type [**MsgCount**](#MsgCount)          OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  monotonic incrementing identifier

ritterth's avatar
ritterth committed
* _requests_ of type [**SignalRequestList**](#SignalRequestList)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  Request Data for one or more signalized intersections that support SRM dialogs

ritterth's avatar
ritterth committed
* _requestor_ of type [**RequestorDescription**](#RequestorDescription) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.
ritterth's avatar
ritterth committed

Thomas Ritter's avatar
Thomas Ritter committed
* **RegionalExtension** {{Reg-SignalRequestMessage}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

Values:
* _timeStamp_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)   OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  time reference

ritterth's avatar
ritterth committed
* _second_ of type [**DSecond**](#DSecond) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  time reference

ritterth's avatar
ritterth committed
* _sequenceNumber_ of type [**MsgCount**](#MsgCount)          OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  monotonic incrementing identifier

ritterth's avatar
ritterth committed
* _status_ of type [**SignalStatusList**](#SignalStatusList) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  Status Data for one of more signalized intersections.

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.
ritterth's avatar
ritterth committed

Thomas Ritter's avatar
Thomas Ritter committed
* **RegionalExtension** {{Reg-SignalStatusMessage}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

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

ritterth's avatar
ritterth committed
### <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>
Thomas Ritter's avatar
Thomas Ritter committed
  the type of advisory which this is.

ritterth's avatar
ritterth committed
* _speed_ of type [**SpeedAdvice**](#SpeedAdvice)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  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

ritterth's avatar
ritterth committed
* _confidence_ of type [**SpeedConfidenceDSRC**](#SpeedConfidenceDSRC)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  A confidence value for the above speed

ritterth's avatar
ritterth committed
* _distance_ of type [**ZoneLength**](#ZoneLength)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  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 

ritterth's avatar
ritterth committed
* _class_ of type [**RestrictionClassID**](#RestrictionClassID)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  the vehicle types to which it applies when absent, the AdvisorySpeed applies to all motor vehicle types

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.
ritterth's avatar
ritterth committed

Thomas Ritter's avatar
Thomas Ritter committed
* **RegionalExtension** {{Reg-AdvisorySpeed}} OPTIONAL<br>
ritterth's avatar
ritterth committed
&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
ritterth's avatar
ritterth committed
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
Thomas Ritter's avatar
Thomas Ritter committed
This DF consists of a list of [**AdvisorySpeed**](#AdvisorySpeed) entries.
ritterth's avatar
ritterth committed

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

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

### <a name="AntennaOffsetSet"></a>AntennaOffsetSet
ritterth's avatar
ritterth committed
This DF is a collection of three offset values in an orthogonal coordinate system
Thomas Ritter's avatar
Thomas Ritter committed
 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.
ritterth's avatar
ritterth committed

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

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

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


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

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

### <a name="ComputedLane"></a>ComputedLane
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _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.

ritterth's avatar
ritterth committed
* _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.

ritterth's avatar
ritterth committed
* _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.

ritterth's avatar
ritterth committed
* _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

ritterth's avatar
ritterth committed
* _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.

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-ComputedLane}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
>>>

ritterth's avatar
ritterth committed
```asn1
ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
```

### <a name="ConnectingLane"></a>ConnectingLane
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _maneuver_ of type [**AllowedManeuvers**](#AllowedManeuvers)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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_
ritterth's avatar
ritterth committed
```asn1
ConnectingLane ::= SEQUENCE {
  lane      LaneID,
  maneuver  AllowedManeuvers OPTIONAL
}
```

### <a name="Connection"></a>Connection
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

* _connectingLane_ of type [**ConnectingLane**](#ConnectingLane) <br>
* _remoteIntersection_ of type [**IntersectionReferenceID**](#IntersectionReferenceID)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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).
ritterth's avatar
ritterth committed

ritterth's avatar
ritterth committed
* _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>
ritterth's avatar
ritterth committed

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

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

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

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

ritterth's avatar
ritterth committed
* _queueLength_ of type [**ZoneLength**](#ZoneLength)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  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)
ritterth's avatar
ritterth committed

ritterth's avatar
ritterth committed
* _availableStorageLength_ of type [**ZoneLength**](#ZoneLength)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  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
ritterth's avatar
ritterth committed
                       during the current cycle.
Thomas Ritter's avatar
Thomas Ritter committed
                       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
ritterth's avatar
ritterth committed
                       of a red light (downstream).
Thomas Ritter's avatar
Thomas Ritter committed
                       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.
Thomas Ritter's avatar
Thomas Ritter committed
                       (Unit = 1 meter, 0 = no space remains)
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _pedBicycleDetect_ of type [**PedestrianBicycleDetect**](#PedestrianBicycleDetect)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-ConnectionManeuverAssist}} OPTIONAL<br>
ritterth's avatar
ritterth committed
[**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_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
This DF is used to provide basic (static) information on how a map fragment was processed or determined.
ritterth's avatar
ritterth committed

* _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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

* _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>
ritterth's avatar
ritterth committed

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

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

### <a name="EnabledLaneList"></a>EnabledLaneList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID
```

### <a name="FullPositionVector"></a>FullPositionVector
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

* _utcTime_ of type [**DDateTime**](#DDateTime)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  time with mSec precision

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

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

ritterth's avatar
ritterth committed
* _elevation_ of type [**Elevation**](#Elevation)   OPTIONAL<br>
ritterth's avatar
ritterth committed
  Elevation in units of 0.1 m

ritterth's avatar
ritterth committed
* _heading_ of type [**HeadingDSRC**](#HeadingDSRC)  OPTIONAL<br>
  Heading value 

ritterth's avatar
ritterth committed
* _speed_ of type [**TransmissionAndSpeed**](#TransmissionAndSpeed)  OPTIONAL<br>
  Speed value

ritterth's avatar
ritterth committed
* _posAccuracy_ of type [**PositionalAccuracy**](#PositionalAccuracy)  OPTIONAL<br>
  position accuracy

ritterth's avatar
ritterth committed
* _timeConfidence_ of type [**TimeConfidence**](#TimeConfidence)  OPTIONAL<br>
  time confidence

ritterth's avatar
ritterth committed
* _posConfidence_ of type [**PositionConfidenceSet**](#PositionConfidenceSet)  OPTIONAL<br>
  position confidence

ritterth's avatar
ritterth committed
* _speedConfidence_ of type [**SpeedandHeadingandThrottleConfidence**](#SpeedandHeadingandThrottleConfidence)  OPTIONAL<br>
  speed confidence 

ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
FullPositionVector ::= SEQUENCE {
   utcTime             DDateTime OPTIONAL,
ritterth's avatar
ritterth committed
   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,
   ...
ritterth's avatar
ritterth committed
}
ritterth's avatar
ritterth committed
```

### <a name="GenericLane"></a>GenericLane
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

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

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

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

ritterth's avatar
ritterth committed
* _laneAttributes_ of type [**LaneAttributes**](#LaneAttributes) <br>
ritterth's avatar
ritterth committed
  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

ritterth's avatar
ritterth committed
* _maneuvers_ of type [**AllowedManeuvers**](#AllowedManeuvers)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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

ritterth's avatar
ritterth committed
* _nodeList_ of type [**NodeListXY**](#NodeListXY) <br>
ritterth's avatar
ritterth committed
  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.

ritterth's avatar
ritterth committed
* _connectsTo_ of type [**ConnectsToList**](#ConnectsToList)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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.

ritterth's avatar
ritterth committed
* _overlays_ of type [**OverlayLaneList**](#OverlayLaneList)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-GenericLane}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _approach_ of type [**ApproachID**](#ApproachID) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  the representation of the point as approach identifier.

ritterth's avatar
ritterth committed
* _connection_ of type [**LaneConnectionID**](ETSI-ITS-DSRC.md#LaneConnectionID) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  the representation of the point as connection identifier.

ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```asn1
IntersectionAccessPoint ::= CHOICE {
  lane       LaneID,
  approach   ApproachID,
  connection LaneConnectionID,
  ...
}
```

### <a name="IntersectionGeometry"></a>IntersectionGeometry
ritterth's avatar
ritterth committed
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).
ritterth's avatar
ritterth committed

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

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

ritterth's avatar
ritterth committed
* _revision_ of type [**MsgCount**](#MsgCount) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  This profile extends the purpose of the `revision` data element as defined in SAE J2735 as follows.
ritterth's avatar
ritterth committed
             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
Thomas Ritter's avatar
Thomas Ritter committed
             the intersection state of the SPAT (see data element `revision` of `DF_IntersectionState` in [ISO TS 19091] G.8.2.9)
ritterth's avatar
ritterth committed

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

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

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

ritterth's avatar
ritterth committed
* _laneSet_ of type [**LaneList**](#LaneList) <br>
ritterth's avatar
ritterth committed
  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)

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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-IntersectionGeometry}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
 IntersectionID that is unique within that region. When the RoadRegulatorID is present the IntersectionReferenceID is
 guaranteed to be globally unique.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _id_ of type [**IntersectionID**](ETSI-ITS-DSRC.md#IntersectionID) <br>
ritterth's avatar
ritterth committed
  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.
>>>

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
 and future data can be sent.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _id_ of type [**IntersectionReferenceID**](#IntersectionReferenceID) <br>
ritterth's avatar
ritterth committed
  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

ritterth's avatar
ritterth committed
* _revision_ of type [**MsgCount**](#MsgCount) <br>
ritterth's avatar
ritterth committed
  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
Thomas Ritter's avatar
Thomas Ritter committed
                    element `revision` of `DF_IntersectionGeometry` in [ISO TS 19091] G.8.2.6).
ritterth's avatar
ritterth committed

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

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

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

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

ritterth's avatar
ritterth committed
* _states_ of type [**MovementList**](#MovementList) <br>
ritterth's avatar
ritterth committed
  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

ritterth's avatar
ritterth committed
* _maneuverAssistList_ of type [**ManeuverAssistList**](#ManeuverAssistList)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  Assist data

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-IntersectionState}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
This DF consists of a list of IntersectionState entries.

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

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

### <a name="LaneAttributes"></a>LaneAttributes
ritterth's avatar
ritterth committed
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.

ritterth's avatar
ritterth committed
* _directionalUse_ of type [**LaneDirection**](#LaneDirection) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  directions of lane use

ritterth's avatar
ritterth committed
* _sharedWith_ of type [**LaneSharing**](#LaneSharing) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  co-users of the lane path

ritterth's avatar
ritterth committed
* _laneType_ of type [**LaneTypeAttributes**](#LaneTypeAttributes) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  specific lane type data

ritterth's avatar
ritterth committed
* _regional_ of type [**RegionalExtension**](#RegionalExtension)  {{Reg-LaneAttributes}} OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed

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

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

### <a name="LaneDataAttribute"></a>LaneDataAttribute
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

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

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

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

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

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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-LaneDataAttribute}}<br>
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

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

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

### <a name="LaneList"></a>LaneList
This DF frame consists of a list of GenericLane entries.
ritterth's avatar
ritterth committed

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

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

### <a name="LaneSharing"></a>LaneSharing
ritterth's avatar
ritterth committed
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:
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

&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`
>>>

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

* _vehicle_ of type [**LaneAttributes-Vehicle**](#LaneAttributes-Vehicle) <br>
ritterth's avatar
ritterth committed
  motor vehicle lanes

ritterth's avatar
ritterth committed
* _crosswalk_ of type [**LaneAttributes-Crosswalk**](#LaneAttributes-Crosswalk) <br>
ritterth's avatar
ritterth committed
  pedestrian crosswalks

ritterth's avatar
ritterth committed
* _bikeLane_ of type [**LaneAttributes-Bike**](#LaneAttributes-Bike) <br>
ritterth's avatar
ritterth committed
  bike lanes

ritterth's avatar
ritterth committed
* _sidewalk_ of type [**LaneAttributes-Sidewalk**](#LaneAttributes-Sidewalk) <br>
ritterth's avatar
ritterth committed
  pedestrian sidewalk paths

ritterth's avatar
ritterth committed
* _median_ of type [**LaneAttributes-Barrier**](#LaneAttributes-Barrier) <br>
ritterth's avatar
ritterth committed
  medians & channelization

ritterth's avatar
ritterth committed
* _striping_ of type [**LaneAttributes-Striping**](#LaneAttributes-Striping) <br>
ritterth's avatar
ritterth committed
  roadway markings

ritterth's avatar
ritterth committed
* _trackedVehicle_ of type [**LaneAttributes-TrackedVehicle**](#LaneAttributes-TrackedVehicle) <br>
ritterth's avatar
ritterth committed
  trains and trolleys

ritterth's avatar
ritterth committed
* _parking_ of type [**LaneAttributes-Parking**](#LaneAttributes-Parking) <br>
ritterth's avatar
ritterth committed
  parking and stopping lanes


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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
```

### <a name="MovementEvent"></a>MovementEvent
ritterth's avatar
ritterth committed
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.

ritterth's avatar
ritterth committed
Values:
* _eventState_ of type [**MovementPhaseState**](#MovementPhaseState) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  Consisting of: Phase state (the basic 11 states), Directional, protected, or permissive state

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

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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-MovementEvent}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
```

### <a name="MovementList"></a>MovementList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
```

### <a name="MovementState"></a>MovementState
ritterth's avatar
ritterth committed
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
Thomas Ritter's avatar
Thomas Ritter committed
 given intersection so that vehicles, when combined with certain map information, can determine the state of the signal phases.

Thomas Ritter's avatar
Thomas Ritter committed
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.
ritterth's avatar
ritterth committed

Thomas Ritter's avatar
Thomas Ritter committed
* _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.
ritterth's avatar
ritterth committed

Thomas Ritter's avatar
Thomas Ritter committed
* _state-time-speed_ of type [**MovementEventList**](#MovementEventList) <br>
  Consisting of sets of movement data with [**SignalPhaseState**](#SignalPhaseState), [**TimeChangeDetail**](#TimeChangeDetail) and [**AdvisorySpeed**](#AdvisorySpeed)
Thomas Ritter's avatar
Thomas Ritter committed
                            *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.
ritterth's avatar
ritterth committed

Thomas Ritter's avatar
Thomas Ritter committed
* _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
ritterth's avatar
ritterth committed

Thomas Ritter's avatar
Thomas Ritter committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
  optional region specific data.
Thomas Ritter's avatar
Thomas Ritter committed
* **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,
Thomas Ritter's avatar
Thomas Ritter committed
      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.
ritterth's avatar
ritterth committed
&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 

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

>>>
Thomas Ritter's avatar
Thomas Ritter committed
NOTE:&emsp;Note that the value given for the time to change will vary in many actuated signalized intersections based on
ritterth's avatar
ritterth committed
      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.
>>>

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _disabled_ of type [**SegmentAttributeXYList**](#SegmentAttributeXYList)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  Attribute states which are disabled at this node point

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

ritterth's avatar
ritterth committed
* _data_ of type [**LaneDataAttributeList**](#LaneDataAttributeList)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  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

ritterth's avatar
ritterth committed
* _dWidth_ of type [**Offset-B10**](#Offset-B10)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  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.

ritterth's avatar
ritterth committed
* _dElevation_ of type [**Offset-B10**](#Offset-B10)  OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-NodeAttributeSetXY}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed
  - 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
ritterth's avatar
ritterth committed
  - 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
>>>

ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

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

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

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

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

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

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

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

* _x_ of type [**Offset-B10**](#Offset-B10) <br>
* _y_ of type [**Offset-B10**](#Offset-B10) <br>
ritterth's avatar
ritterth committed

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

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

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

* _x_ of type [**Offset-B11**](#Offset-B11) <br>
* _y_ of type [**Offset-B11**](#Offset-B11) <br>
ritterth's avatar
ritterth committed

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

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

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

* _x_ of type [**Offset-B12**](#Offset-B12) <br>
* _y_ of type [**Offset-B12**](#Offset-B12) <br>
ritterth's avatar
ritterth committed

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

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

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

* _x_ of type [**Offset-B13**](#Offset-B13) <br>
* _y_ of type [**Offset-B13**](#Offset-B13) <br>
ritterth's avatar
ritterth committed

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

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

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

* _x_ of type [**Offset-B14**](#Offset-B14) <br>
* _y_ of type [**Offset-B14**](#Offset-B14) <br>
ritterth's avatar
ritterth committed

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

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

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

* _x_ of type [**Offset-B16**](#Offset-B16) <br>
* _y_ of type [**Offset-B16**](#Offset-B16) <br>
ritterth's avatar
ritterth committed

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

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

### <a name="NodeListXY"></a>NodeListXY
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _computed_ of type [**ComputedLane**](#ComputedLane) <br>
ritterth's avatar
ritterth committed
  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_
ritterth's avatar
ritterth committed
```asn1
NodeListXY ::= CHOICE {
  nodes     NodeSetXY,
  computed  ComputedLane,
  ...
}
```

### <a name="NodeOffsetPointXY"></a>NodeOffsetPointXY
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

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

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

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

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

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

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

Thomas Ritter's avatar
Thomas Ritter committed
* regional<br>
  optional region specific data.

ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _attributes_ of type [**NodeAttributeSetXY**](#NodeAttributeSetXY)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

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

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

### <a name="OverlayLaneList"></a>OverlayLaneList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
```

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

* _semiMajor_ of type [**SemiMajorAxisAccuracy**](#SemiMajorAxisAccuracy) <br>
* _semiMinor_ of type [**SemiMinorAxisAccuracy**](#SemiMinorAxisAccuracy) <br>
* _orientation_ of type [**SemiMajorAxisOrientation**](#SemiMajorAxisOrientation) <br>
ritterth's avatar
ritterth committed

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

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

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

* _pos_ of type [**PositionConfidence**](#PositionConfidence) <br>
ritterth's avatar
ritterth committed
  confidence for both horizontal directions

ritterth's avatar
ritterth committed
* _elevation_ of type [**ElevationConfidence**](#ElevationConfidence) <br>
ritterth's avatar
ritterth committed
  confidence for vertical direction


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

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

### <a name="Position3D"></a>Position3D
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _long_ of type [**Longitude**](ETSI-ITS-CDD.md#Longitude) <br>
Thomas Ritter's avatar
Thomas Ritter committed
  Longitude in 1/10th microdegrees

ritterth's avatar
ritterth committed
* _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.
ritterth's avatar
ritterth committed

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-Position3D}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
This DF consists of a list of RegionalSignalControlZone entries.

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

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

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

* _type_ of type [**SpeedLimitType**](#SpeedLimitType) <br>
ritterth's avatar
ritterth committed
  The type of regulatory speed which follows

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


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

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

### <a name="RequestorDescription"></a>RequestorDescription
ritterth's avatar
ritterth committed
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).
ritterth's avatar
ritterth committed

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

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

ritterth's avatar
ritterth committed
* _position_ of type [**RequestorPositionVector**](#RequestorPositionVector)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  The location of the requesting vehicle

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

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

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

ritterth's avatar
ritterth committed
* _transitOccupancy_ of type [**TransitVehicleOccupancy**](#TransitVehicleOccupancy)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  current vehicle occupancy

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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-RequestorDescription}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

* _position_ of type [**Position3D**](#Position3D) <br>
* _heading_ of type [**Angle**](#Angle)  OPTIONAL<br>
* _speed_ of type [**TransmissionAndSpeed**](#TransmissionAndSpeed)  OPTIONAL<br>
ritterth's avatar
ritterth committed

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

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

### <a name="RequestorType"></a>RequestorType
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

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

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

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

ritterth's avatar
ritterth committed
* _hpmsType_ of type [**VehicleType**](#VehicleType)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  HPMS classification types

ritterth's avatar
ritterth committed
* _regional_ of type [**RegionalExtension**](#RegionalExtension)  {{Reg-RequestorType}} OPTIONAL<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _users_ of type [**RestrictionUserTypeList**](#RestrictionUserTypeList) <br>
ritterth's avatar
ritterth committed
  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_
ritterth's avatar
ritterth committed
```asn1
RestrictionClassAssignment ::= SEQUENCE {
  id       RestrictionClassID,
  users    RestrictionUserTypeList
}
```

### <a name="RestrictionClassList"></a>RestrictionClassList
ritterth's avatar
ritterth committed
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.
>>>

ritterth's avatar
ritterth committed
```asn1
RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
```

### <a name="RestrictionUserType"></a>RestrictionUserType
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-RestrictionUserType}}<br>
ritterth's avatar
ritterth committed

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

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

### <a name="RestrictionUserTypeList"></a>RestrictionUserTypeList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF  RestrictionUserType
```

### <a name="RoadLaneSetList"></a>RoadLaneSetList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
```

### <a name="RoadSegmentReferenceID"></a>RoadSegmentReferenceID
ritterth's avatar
ritterth committed
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).
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _id_ of type [**RoadSegmentID**](#RoadSegmentID) <br>
ritterth's avatar
ritterth committed
  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_
ritterth's avatar
ritterth committed
```asn1
RoadSegmentReferenceID ::= SEQUENCE {
  region  RoadRegulatorID OPTIONAL,
  id      RoadSegmentID
}
```

### <a name="RoadSegment"></a>RoadSegment
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

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

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

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

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

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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-RoadSegment}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
```

### <a name="RTCMheader"></a>RTCMheader
ritterth's avatar
ritterth committed
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).
ritterth's avatar
ritterth committed

* _status_ of type [**GNSSstatus**](#GNSSstatus) <br>
* _offsetSet_ of type [**AntennaOffsetSet**](#AntennaOffsetSet) <br>
ritterth's avatar
ritterth committed

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

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

### <a name="RTCMmessageList"></a>RTCMmessageList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
RTCMmessageList ::= SEQUENCE (SIZE(1..5)) OF RTCMmessage
```

### <a name="SegmentAttributeXYList"></a>SegmentAttributeXYList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
```

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

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

ritterth's avatar
ritterth committed

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

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

### <a name="SignalRequesterInfo"></a>SignalRequesterInfo
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

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

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

ritterth's avatar
ritterth committed
* _role_ of type [**BasicVehicleRole**](#BasicVehicleRole)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  vehicle role

ritterth's avatar
ritterth committed
* _typeData_ of type [**RequestorType**](#RequestorType)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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_
ritterth's avatar
ritterth committed
```asn1
SignalRequesterInfo ::= SEQUENCE {
  id             VehicleID,
  request        RequestID,
  sequenceNumber MsgCount,
  role           BasicVehicleRole OPTIONAL,
  typeData       RequestorType OPTIONAL,
  ...
}
```

### <a name="SignalRequest"></a>SignalRequest
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

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

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

ritterth's avatar
ritterth committed
* _inBoundLane_ of type [**IntersectionAccessPoint**](#IntersectionAccessPoint) <br>
ritterth's avatar
ritterth committed
  desired entry approach or lane.

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

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-SignalRequest}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

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

### <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
ritterth's avatar
ritterth committed
SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
```

### <a name="SignalRequestPackage"></a>SignalRequestPackage
ritterth's avatar
ritterth committed
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).
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _minute_ of type [**MinuteOfTheYear**](#MinuteOfTheYear)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  Time period start.

ritterth's avatar
ritterth committed
* _second_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  Time period start.

ritterth's avatar
ritterth committed
* _duration_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  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.

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-SignalRequestPackage}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
This DF is used to provide the status of a single intersection to others, including any active
 preemption or priority state in effect.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _id_ of type [**IntersectionReferenceID**](#IntersectionReferenceID) <br>
ritterth's avatar
ritterth committed
  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.

ritterth's avatar
ritterth committed
* _sigStatus_ of type [**SignalStatusPackageList**](#SignalStatusPackageList) <br>
ritterth's avatar
ritterth committed
  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.

ritterth's avatar
ritterth committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

ritterth's avatar
ritterth committed
* **RegionalExtension** {{Reg-SignalStatus}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

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

### <a name="SignalStatusList"></a>SignalStatusList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
```

### <a name="SignalStatusPackageList"></a>SignalStatusPackageList
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
 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).

Thomas Ritter's avatar
Thomas Ritter committed
Values:
* _requester_ of type [**SignalRequesterInfo**](#SignalRequesterInfo)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  The party that made the initial SREM request.

Thomas Ritter's avatar
Thomas Ritter committed
* _inboundOn_ of type [**IntersectionAccessPoint**](#IntersectionAccessPoint) <br>
ritterth's avatar
ritterth committed
  estimated lane / approach of vehicle.

Thomas Ritter's avatar
Thomas Ritter committed
* _outboundOn_ of type [**IntersectionAccessPoint**](#IntersectionAccessPoint)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  estimated lane / approach of vehicle.

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

Thomas Ritter's avatar
Thomas Ritter committed
* _second_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  seconds part of ETA.

Thomas Ritter's avatar
Thomas Ritter committed
* _duration_ of type [**DSecond**](#DSecond)  OPTIONAL<br>
ritterth's avatar
ritterth committed
  duration part of ETA.

Thomas Ritter's avatar
Thomas Ritter committed
* _status_ of type [**PrioritizationResponseStatus**](ETSI-ITS-DSRC.md#PrioritizationResponseStatus) <br>
ritterth's avatar
ritterth committed
  Status of request, this may include rejection.

Thomas Ritter's avatar
Thomas Ritter committed
* _regional_ of type **SEQUENCE**  (SIZE(1..4)) OF<br>
Thomas Ritter's avatar
Thomas Ritter committed
  optional region specific data.

Thomas Ritter's avatar
Thomas Ritter committed
* **RegionalExtension** {{Reg-SignalStatusPackage}} OPTIONAL<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
SignalStatusPackage ::= SEQUENCE {
  requester    SignalRequesterInfo OPTIONAL,
  inboundOn    IntersectionAccessPoint,
  outboundOn   IntersectionAccessPoint OPTIONAL,
Thomas Ritter's avatar
Thomas Ritter committed
  minute       MinuteOfTheYear OPTIONAL,
  second       DSecond OPTIONAL,
  duration     DSecond OPTIONAL,
  status       PrioritizationResponseStatus,
  regional     SEQUENCE (SIZE(1..4)) OF
               RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
  ...
}
ritterth's avatar
ritterth committed
### <a name="SpeedandHeadingandThrottleConfidence"></a>SpeedandHeadingandThrottleConfidence
This DF is a single data frame combining multiple related bit fields into one concept.
ritterth's avatar
ritterth committed
* _heading_ of type [**HeadingConfidenceDSRC**](#HeadingConfidenceDSRC) <br>
  confidence for heading values

ritterth's avatar
ritterth committed
* _speed_ of type [**SpeedConfidenceDSRC**](#SpeedConfidenceDSRC) <br>
  confidence for speed values

ritterth's avatar
ritterth committed
* _throttle_ of type [**ThrottleConfidence**](#ThrottleConfidence) <br>
  confidence for throttle values 

ritterth's avatar
ritterth committed

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

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

### <a name="SpeedLimitList"></a>SpeedLimitList
ritterth's avatar
ritterth committed
This DF consists of a list of SpeedLimit entries.

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

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

### <a name="SpeedLimitType"></a>SpeedLimitType
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
SpeedLimitType ::= ENUMERATED {
   unknown,
   maxSpeedInSchoolZone,
   maxSpeedInSchoolZoneWhenChildrenArePresent,
   maxSpeedInConstructionZone,
   vehicleMinSpeed,
   vehicleMaxSpeed,
   vehicleNightMaxSpeed,
   truckMinSpeed,
   truckMaxSpeed,
   truckNightMaxSpeed,
   vehiclesWithTrailersMinSpeed,
   vehiclesWithTrailersMaxSpeed,
   vehiclesWithTrailersNightMaxSpeed,
   ...
}
```

### <a name="TimeChangeDetails"></a>TimeChangeDetails
ritterth's avatar
ritterth committed
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>
ritterth's avatar
ritterth committed
  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
ritterth's avatar
ritterth committed
                     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.

ritterth's avatar
ritterth committed
* _minEndTime_ of type [**TimeMark**](#TimeMark) <br>
ritterth's avatar
ritterth committed
  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>
ritterth's avatar
ritterth committed
  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>
ritterth's avatar
ritterth committed
  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.

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

* _nextTime_ of type [**TimeMark**](#TimeMark)                OPTIONAL<br>
ritterth's avatar
ritterth committed
  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
ritterth's avatar
ritterth committed
                     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.
>>>

ritterth's avatar
ritterth committed
```asn1
TimeChangeDetails ::= SEQUENCE {
  startTime   TimeMark               OPTIONAL,
ritterth's avatar
ritterth committed
  minEndTime  TimeMark,
  maxEndTime  TimeMark               OPTIONAL,
  likelyTime  TimeMark               OPTIONAL,
ritterth's avatar
ritterth committed
  confidence  TimeIntervalConfidence OPTIONAL,
  nextTime    TimeMark               OPTIONAL
ritterth's avatar
ritterth committed
}
```

### <a name="TimeMark"></a>TimeMark
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed
 - 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
>>>

ritterth's avatar
ritterth committed
```asn1
TimeMark ::= INTEGER (0..36001)
```

### <a name="TransmissionAndSpeed"></a>TransmissionAndSpeed
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* _speed_ of type [**Velocity**](#Velocity) <br>
  speed of the vehicle

ritterth's avatar
ritterth committed

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

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

### <a name="VehicleID"></a>VehicleID
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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

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

ritterth's avatar
ritterth committed

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

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

ritterth's avatar
ritterth committed
### <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.
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Categories:** Infrastructure information 
ritterth's avatar
ritterth committed
&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
```asn1
ritterth's avatar
ritterth committed
AdvisorySpeedType ::= ENUMERATED {
  none       (0),
  greenwave  (1),
  ecoDrive   (2),
  transit    (3),
  ...
}
```

### <a name="AllowedManeuvers"></a>AllowedManeuvers
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
>>>

ritterth's avatar
ritterth committed
```asn1
Angle ::= INTEGER (0..28800)
```

### <a name="ApproachID"></a>ApproachID
ritterth's avatar
ritterth committed
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
>>>

ritterth's avatar
ritterth committed
```asn1
ApproachID ::= INTEGER (0..15)
```

### <a name="BasicVehicleRole"></a>BasicVehicleRole
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

&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
ritterth's avatar
ritterth committed
    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
ritterth's avatar
ritterth committed
    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.
>>>

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
DDay ::= INTEGER (0..31)
```

### <a name="DeltaAngle"></a>DeltaAngle
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
DeltaAngle ::= INTEGER (-150..150)
```

### <a name="DeltaTime"></a>DeltaTime
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed

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

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

### <a name="DescriptiveName"></a>DescriptiveName
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
DescriptiveName ::= IA5String (SIZE(1..63))
```

### <a name="DHour"></a>DHour
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
DHour ::= INTEGER (0..31)
```

### <a name="DMinute"></a>DMinute
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
DMinute ::= INTEGER (0..60)
```

### <a name="DMonth"></a>DMonth
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
DMonth ::= INTEGER (0..12)
```

### <a name="DOffset"></a>DOffset
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
DOffset ::= INTEGER (-840..840)
```

### <a name="DrivenLineOffsetLg"></a>DrivenLineOffsetLg
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
DrivenLineOffsetLg ::= INTEGER (-32767..32767)
```

### <a name="DrivenLineOffsetSm"></a>DrivenLineOffsetSm
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _milliseconds_
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _years_
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

 Any elevation lower than -409.5 meters is represented as -4095.
ritterth's avatar
ritterth committed

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

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

ritterth's avatar
ritterth committed
```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)
Thomas Ritter's avatar
Thomas Ritter committed
 - `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)
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

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

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

ritterth's avatar
ritterth committed
```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)
ritterth's avatar
ritterth committed
```

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

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

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

### <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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

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

### <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.
ritterth's avatar
ritterth committed

 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.
ritterth's avatar
ritterth committed

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.0125 degrees_
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

&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
>>>

ritterth's avatar
ritterth committed
```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:
Thomas Ritter's avatar
Thomas Ritter committed
 - `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
Thomas Ritter's avatar
Thomas Ritter committed
 - `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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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:
Thomas Ritter's avatar
Thomas Ritter committed
 - `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.
Thomas Ritter's avatar
Thomas Ritter committed
 -`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
ritterth's avatar
ritterth committed

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

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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*
ritterth's avatar
ritterth committed

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

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

Values:
* **sidewalk-RevocableLane** (0)<br>
* **bicyleUseAllowed** (1)<br>
* **isSidewalkFlyOverLane** (2)<br>
* **walkBikes** (3)<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
* **egressPath** (1)<br>
  travel from front of path to rear is allowed
ritterth's avatar
ritterth committed


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

ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

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

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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);
ritterth's avatar
ritterth committed

 If there are only two fragments, the fragment identification will be 21, 22.
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

 @field `mixedContent`: two or more of the below types
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

 @units: cm
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

 The value `-180` shall be used to represent data is not available or unknown
ritterth's avatar
ritterth committed

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _1.5 degrees from north_
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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).
ritterth's avatar
ritterth committed

 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.
ritterth's avatar
ritterth committed

 The value 527040 shall be used for invalid.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

 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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

 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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```asn1
MsgCount ::= INTEGER (0..127)
```

### <a name="Offset-B09"></a>Offset-B09
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed

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

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

### <a name="Offset-B10"></a>Offset-B10
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed

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

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

### <a name="Offset-B11"></a>Offset-B11
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed
 a range of +- 10.23 meters

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

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

### <a name="Offset-B12"></a>Offset-B12
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed

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

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

### <a name="Offset-B13"></a>Offset-B13
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed
 a range of +- 40.95 meters

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
Offset-B13 ::= INTEGER (-4096..4095)
```

### <a name="Offset-B14"></a>Offset-B14
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed
 a range of +- 81.91 meters

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
Offset-B14 ::= INTEGER (-8192..8191)
```

### <a name="Offset-B16"></a>Offset-B16
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed
 a range of +- 327.68 meters

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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)
ritterth's avatar
ritterth committed
 }
ritterth's avatar
ritterth committed
```

### <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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

Values:
* **priorityRequestTypeReserved** (0)<br>
* **priorityRequest** (1)<br>
* **priorityRequestUpdate** (2)<br>
* **priorityCancellation** (3)<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

 - `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
>>>
ritterth's avatar
ritterth committed

ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

 - `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
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

 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.
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

 The value zero shall be used for testing only
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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).
ritterth's avatar
ritterth committed

 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
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
RoadSegmentID ::= INTEGER (0..65535)
```

### <a name="RoadwayCrownAngle"></a>RoadwayCrownAngle
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

 - The value -128 shall be used for unknown
 - The value zero shall be used for angles which are between -0.15 and +0.15
ritterth's avatar
ritterth committed

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _0.3 degrees of angle over a range of -38.1 to + 38.1 degrees_
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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.
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed

Values:
* **unknown** (0)<br>
* **rtcmRev2** (1)<br>
* **rtcmRev3** (2)<br>
* **reserved** (3)<br>
ritterth's avatar
ritterth committed

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

ritterth's avatar
ritterth committed
```asn1
RTCM-Revision ::= ENUMERATED {
  unknown  (0),
  rtcmRev2 (1),
  rtcmRev3 (2),
ritterth's avatar
ritterth committed
  reserved (3),
  ...
}
```

### <a name="Scale-B12"></a>Scale-B12
ritterth's avatar
ritterth committed
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.
ritterth's avatar
ritterth committed

&nbsp;&nbsp;&nbsp;&nbsp;**Unit:** _in steps of 0.05 percent_
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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).
ritterth's avatar
ritterth committed

 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
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
SignalGroupID ::= INTEGER (0..255)
```

### <a name="SegmentAttributeXY"></a>SegmentAttributeXY
ritterth's avatar
ritterth committed
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:
Thomas Ritter's avatar
Thomas Ritter committed
 - 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
ritterth's avatar
ritterth committed
 - loadingzoneOnLeft:  loading or drop off zones
 - loadingzoneOnRight: loading or drop off zones
Thomas Ritter's avatar
Thomas Ritter committed
 - 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 
ritterth's avatar
ritterth committed
 - 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
Thomas Ritter's avatar
Thomas Ritter committed
 - 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)
ritterth's avatar
ritterth committed
 - 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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
SemiMajorAxisAccuracy ::= INTEGER (0..255)
```

### <a name="SemiMajorAxisOrientation"></a>SemiMajorAxisOrientation
ritterth's avatar
ritterth committed
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)
ritterth's avatar
ritterth committed
 - 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_
ritterth's avatar
ritterth committed
```asn1
SemiMajorAxisOrientation ::= INTEGER (0..65535)
```

### <a name="SemiMinorAxisAccuracy"></a>SemiMinorAxisAccuracy
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
SemiMinorAxisAccuracy ::= INTEGER (0..255)
```

### <a name="SpeedAdvice"></a>SpeedAdvice
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
SpeedAdvice ::= INTEGER (0..500)
```

### <a name="SpeedConfidenceDSRC"></a>SpeedConfidenceDSRC
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed
 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.
ritterth's avatar
ritterth committed

 - 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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
SpeedConfidenceDSRC ::= ENUMERATED {
   unavailable (0),
   prec100ms   (1),
   prec10ms    (2),
   prec5ms     (3),
   prec1ms     (4),
   prec0-1ms   (5),
   prec0-05ms  (6),
   prec0-01ms  (7)
ritterth's avatar
ritterth committed
 }
ritterth's avatar
ritterth committed
```

### <a name="TemporaryID"></a>TemporaryID
ritterth's avatar
ritterth committed
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.
>>>

ritterth's avatar
ritterth committed
```asn1
TemporaryID ::= OCTET STRING (SIZE(4))
```

### <a name="ThrottleConfidence"></a>ThrottleConfidence
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed

Values:
* **unavailable** (0)<br>
* **prec10percent** (1)<br>
* **prec1percent** (2)<br>
* **prec0-5percent** (3)<br>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
ThrottleConfidence ::= ENUMERATED {
   unavailable     (0),
   prec10percent   (1),
   prec1percent    (2),
   prec0-5percent  (3)
ritterth's avatar
ritterth committed
 }
ritterth's avatar
ritterth committed
```

### <a name="TimeConfidence"></a>TimeConfidence
This DE is used to provide the 95% confidence level for the currently reported value
ritterth's avatar
ritterth committed
 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
Thomas Ritter's avatar
Thomas Ritter committed
 - 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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
TimeIntervalConfidence ::= INTEGER (0..15)
```

### <a name="TransitVehicleOccupancy"></a>TransitVehicleOccupancy
ritterth's avatar
ritterth committed
This DE is used to relate basic level of current ridership.
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
TransitVehicleOccupancy ::= ENUMERATED {
  occupancyUnknown    (0),
  occupancyEmpty      (1),
  occupancyVeryLow    (2),
  occupancyLow        (3),
  occupancyMed        (4),
  occupancyHigh       (5),
  occupancyNearlyFull (6),
  occupancyFull       (7)
}
```

### <a name="TransitVehicleStatus"></a>TransitVehicleStatus
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed

Values:
* **loading** (0)<br>
* **anADAuse** (1)<br>
* **aBikeLoad** (2)<br>
* **doorOpen** (3)<br>
* **charging** (4)<br>
* **atStopLine** (5)<br>
ritterth's avatar
ritterth committed

&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).
>>>

ritterth's avatar
ritterth committed
```asn1
TransitVehicleStatus ::= BIT STRING {
  loading     (0),
  anADAuse    (1),
  aBikeLoad   (2),
  doorOpen    (3),
  charging    (4),
  atStopLine  (5)
} (SIZE(8))
```

### <a name="TransmissionState"></a>TransmissionState
ritterth's avatar
ritterth committed
This DE is used to provide the current state of the vehicle transmission.
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```asn1
TransmissionState ::= ENUMERATED {
  neutral      (0),
  park         (1),
  forwardGears (2),
  reverseGears (3),
  reserved1    (4),
  reserved2    (5),
  reserved3    (6),
  unavailable  (7)
}
```

### <a name="VehicleHeight"></a>VehicleHeight
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
VehicleHeight ::= INTEGER (0..127)
```

### <a name="VehicleType"></a>VehicleType
ritterth's avatar
ritterth committed
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
ritterth's avatar
ritterth committed

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>
ritterth's avatar
ritterth committed

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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V1.3.1_
ritterth's avatar
ritterth committed
```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
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
Velocity ::= INTEGER (0..8191)
```

### <a name="WaitOnStopline"></a>WaitOnStopline
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
WaitOnStopline ::= BOOLEAN
```

### <a name="ZoneLength"></a>ZoneLength
ritterth's avatar
ritterth committed
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_
ritterth's avatar
ritterth committed
```asn1
ZoneLength ::= INTEGER (0..10000)
```



Thomas Ritter's avatar
Thomas Ritter committed
## 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"