ETSI-ITS-DSRC.md 225 KB
Newer Older
ritterth's avatar
ritterth committed
  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

ritterth's avatar
ritterth committed
* _iso3883_ of type [**Iso3833VehicleType**](ElectronicRegistrationIdentificationVehicleDataModule.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
}