IS_TS103301.md 262 KB
Newer Older
Thomas Ritter's avatar
Thomas Ritter committed
GenericLane ::= SEQUENCE {
  laneID           LaneID,
  name             DescriptiveName OPTIONAL,
  ingressApproach  ApproachID OPTIONAL,
  egressApproach   ApproachID OPTIONAL,
  laneAttributes   LaneAttributes,
  maneuvers        AllowedManeuvers OPTIONAL,
  nodeList         NodeListXY,
  connectsTo       ConnectsToList OPTIONAL,
  overlays         OverlayLaneList OPTIONAL,
  regional  SEQUENCE (SIZE(1..4)) OF
            RegionalExtension {{Reg-GenericLane}} OPTIONAL,
  ...
}
```

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### <a name="LaneList"></a>LaneList
This DF consists of a list of GenericLane entries.
Thomas Ritter's avatar
Thomas Ritter committed
1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  - reserved:             do not use
  - stopLine:             point where a mid-path stop line exists. See also 'do not block' for segments
  - roundedCapStyleA:     Used to control final path rounded end shape with edge of curve at final point in a circle
  - roundedCapStyleB:     Used to control final path rounded end shape with edge of curve extending 50% of width past final point in a circle
  - mergePoint:           merge with 1 or more lanes
  - divergePoint:         diverge with 1 or more lanes
  - downstreamStopLine:   downstream intersection (a 2nd intersection) stop line
  - downstreamStartNode:  downstream intersection (a 2nd intersection) start node
Thomas Ritter's avatar
Thomas Ritter 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
>>>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

* regional<br>
  optional region specific data.


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

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

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

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

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


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

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

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

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

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

### <a name="OcitRequestorDescriptionContainer"></a>OcitRequestorDescriptionContainer
This DF is the ODG Addition for Legancy R09 telegrams.

* _reportingPoint_ of type [**ReportingPoint**](#ReportingPoint)  OPTIONAL<br>
  reporting point as of R09 (maps to R09 field M Meldepunktnummer)

* _priorityLevel_ of type [**PriorityLevel**](#PriorityLevel)  OPTIONAL<br>
  priority level as of R09 (maps to R09 field P Prioritaet)

* _length_ of type [**TrainLength**](#TrainLength)  OPTIONAL<br>
  train length point as of R09 (maps to R09 field A Zuglaenge)

* _route_ of type [**RouteNumber**](#RouteNumber)  OPTIONAL<br>
  route as of R09 (maps to R09 field K Kursnummer)

* _line_ of type [**LineNumber**](#LineNumber)  OPTIONAL<br>
  line as of R09 (maps to R09 field L Liniennummer)

* _direction_ of type [**TransitDirection**](#TransitDirection)  OPTIONAL<br>
  direction as of R09 (maps to R09 field H Richtung von Hand)

* _tour_ of type [**TourNumber**](#TourNumber)  OPTIONAL<br>
  tour as of R09 (maps to R09 field Z Zielnummer)

* _version_ of type [**VersionId**](#VersionId)  OPTIONAL<br>
  version of R09


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

&nbsp;&nbsp;&nbsp;&nbsp;**Revision:** _V2.2.1_
```asn1
OcitRequestorDescriptionContainer ::= SEQUENCE {
  reportingPoint      ReportingPoint OPTIONAL,
  priorityLevel       PriorityLevel OPTIONAL,
  length              TrainLength OPTIONAL,
  route               RouteNumber OPTIONAL,
  line                LineNumber OPTIONAL,
  direction           TransitDirection OPTIONAL,
  tour                TourNumber OPTIONAL,
  version             VersionId OPTIONAL,
  ...
}
```

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

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

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

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