ETSI-ITS-DSRC.md 228 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 @refRequestorDescription data frame), and its current speed, heading and location can be placed in this
ritterth's avatar
ritterth committed
 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
This DF is used in the generic lane descriptions to provide a sequence of other defined
ritterth's avatar
ritterth committed
 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,