ITS-Container.asn 199 KB
Newer Older
tijinkj's avatar
tijinkj committed
1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 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
 * @category Vehicle information
 */
ExteriorLights ::= BIT STRING {
    lowBeamHeadlightsOn      (0),
    highBeamHeadlightsOn     (1),
    leftTurnSignalOn         (2),
    rightTurnSignalOn        (3),
    daytimeRunningLightsOn   (4),
    reverseLightOn           (5),
    fogLightOn               (6),
    parkingLightsOn          (7)
} (SIZE(8))

/**
 * This DE represents the confidence of the information indicating that an area is not occupied by a traffic participant or obstacle.
 *
 * the following  values are specified:
 * - unknown             (0),    -- if the free space confidence is unknown for the described area
 * - onePercent          (1),
 * - OneHundredPercent   (100),
 * - unavailable         (101)   -- if the confidence could not be computed and does not apply.
 *
 * @category tbd
*/
FreeSpaceConfidence ::= INTEGER {
    unknown             (0),    -- if the free space confidence is unknown for the described area
    onePercent          (1),
    oneHundredPercent   (100),
    unavailable         (101)   -- if the confidence could not be computed and does not apply.
} (0..101)


/**
 * This DE represents a timestamp based on TimestampIts modulo 65 536.
 * This means that generationDeltaTime = TimestampIts mod 65 536.
 *
 * @category Time information
*/
GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)

/**
 * This DE indicates the current status of a hard shoulder: whether it is available for special usage
 * (e.g. for stopping or for driving) or closed for all vehicles.
 * 
 * The following values are specified:
 * - availableForStopping(0): if the hard shoulder is available for stopping in emergency situations. 
 * - closed(1): if the hard shoulder is closed and cannot / shall not be occupied in any case.
 * - availableForDriving(2): if the hard shoulder is available for regular driving.
*
 * 
 * @category: Traffic information
 */
HardShoulderStatus ::= ENUMERATED {
    availableForStopping(0), 
    closed(1), 
    availableForDriving(2)}

/**
 * This DE represents the value of the sub cause code of the @CauseCode `hazardousLocation-AnimalOnTheRoad`.
 * 
 * The following values are specified:
 * - 0 `unavailable`  : in case further detailed information on the animal on the road event is unavailable,
 * - 1 `wildAnimals`  : in case wild animals are detected on the road,
 * - 2 `herdOfAnimals`: in case herd of animals are detected on the road,
 * - 3 `smallAnimals` : in case small size animal is detected on the road,
 * - 4 `largeAnimals` : in case large size animal is detected on the road,
 * - 5-255 reserved for future usage.
 *
 * @category: Traffic information
 */
HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {
    unavailable(0), 
    wildAnimals(1), 
    herdOfAnimals(2), 
    smallAnimals(3), 
    largeAnimals(4)} (0..255)

/**
 * This DE represents the sub cause code of the @CauseCode  `hazardousLocation-DangerousCurve`.
 * 
 * The following values are specified:
 * - 0 `unavailable`              : in case further detailed information on the dangerous curve is unavailable,
 * - 1 `dangerousLeftTurnCurve`   : in case the dangerous curve is a left turn curve,
 * - 2 `dangerousRightTurnCurve`  : in case the dangerous curve is a right turn curve,
 * - 3 `multipleCurvesStartingWithUnknownTurningDirection`: in case of multiple curves for which the starting curve turning direction is not known,
 * - 4 `multipleCurvesStartingWithLeftTurn`: in case of multiple curves starting with a left turn curve,
 * - 5 `multipleCurvesStartingWithRightTurn`: in case of multiple curves stating with a right turn curve,
 * - value 6-255 reserved for future usage.
 * 
 * The definition of whether a curve is dangerous may vary according to region and according to vehicle types/mass
 * and vehicle speed driving on the curve. This definition is out of scope of the present document.
 *
 * @category: Traffic information
 */
HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {
    unavailable(0), 
    dangerousLeftTurnCurve(1), 
    dangerousRightTurnCurve(2), 
    multipleCurvesStartingWithUnknownTurningDirection(3), 
    multipleCurvesStartingWithLeftTurn(4), 
    multipleCurvesStartingWithRightTurn(5)
} (0..255)

/**
 * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-ObstacleOnTheRoad`. 
 * 
 * The following values are specified:
 * - 0 `unavailable`    : in case further detailed information on the detected obstacle is unavailable,
 * - 1 `shedLoad`       : in case detected obstacle is large amount of obstacles (shedload),
 * - 2 `partsOfVehicles`: in case detected obstacles are parts of vehicles,
 * - 3 `partsOfTyres`   : in case the detected obstacles are parts of tyres,
 * - 4 `bigObjects`     : in case the detected obstacles are big objects,
 * - 5 `fallenTrees`    : in case the detected obstacles are fallen trees,
 * - 6 `hubCaps`        : in case the detected obstacles are hub caps,
 * - 7 `waitingVehicles`: in case the detected obstacles are waiting vehicles,
 * - 8-255 reserved for future usage.
 *
 * @category: Traffic information
 */
HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {
    unavailable(0), 
    shedLoad(1), 
    partsOfVehicles(2), 
    partsOfTyres(3), 
    bigObjects(4), 
    fallenTrees(5), 
    hubCaps(6), 
    waitingVehicles(7)
} (0..255)

/**
 * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-SurfaceCondition`. 
 * 
 * The sub causes are described as following:
 * - 0 `unavailable`     : in case further detailed information on the road surface condition is unavailable,
 * - 1 `rockfalls`       : in case rock falls are detected on the road surface,
 * - 2 `earthquakeDamage`: in case the road surface is damaged by earthquake,
 * - 3 `sewerCollapse`   : in case of sewer collapse on the road surface,
 * - 4 `subsidence`      : in case road surface is damaged by subsidence,
 * - 5 `snowDrifts`      : in case road surface is damaged due to snow drift,
 * - 6 `stormDamage`     : in case road surface is damaged by strong storm,
 * - 7 `burstPipe`       : in case road surface is damaged due to pipe burst,
 * - 8 `volcanoEruption` : in case road surface is damaged due to volcano eruption,
 * - 9 `fallingIce`      : in case road surface damage is due to falling ice,
 * - 10-255 reserved for future usage.
 *
 * @category: Traffic information
 */
HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {
    unavailable(0), 
    rockfalls(1), 
    earthquakeDamage(2), 
    sewerCollapse(3), 
    subsidence(4), 
    snowDrifts(5), 
    stormDamage(6), 
    burstPipe(7), 
    volcanoEruption(8), 
    fallingIce(9), 
    fire(10)
} (0..255)

/**
 * This DE represents the height of the left or right longitude carrier of vehicle from base to top (left or right carrier seen from vehicle
 * rear to front). For values equal to or greater than 99 cm, the DE shall be set to 99.
 * If the value is unavailable, the DE shall be set to 100.
 *
 * @unit 1 centimeter
 * @category Vehicle information
 */
HeightLonCarr ::= INTEGER {
    oneCentimeter(1), 
    unavailable(100)
} (1..100)

/**
 * This DE represents the value of the sub cause code of the @ref CauseCode `humanPresenceOnTheRoad`.
 * 
 * The following values are specified:
 * - 0 `unavailable`          : in case further detailed information on human presence on the road is unavailable,
 * - 1 `childrenOnRoadway`    : in case children are detected on the road event,
 * - 2 `cyclistOnRoadway`     : in case cyclist presence is detected on the road,
 * - 3 `motorcyclistOnRoadway`: in case motorcyclist presence is detected on the road,
 * - 4-255 reserved for future usage.
 *
 * @category: Traffic information
 */
HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255)

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode "humanProblem".
 * 
 * The following values are specified:
 * - 0 `unavailable`    : in case further detailed information on human health problem is unavailable,
 * - 1 `glycemiaProblem`: in case human problem is due to glycaemia problem,
 * - 2 `heartProblem`   : in case human problem is due to heart problem,
 * - 3-255 reserved for future usage.
 *
 * @category: Traffic information
 */
HumanProblemSubCauseCode ::= INTEGER {
    unavailable(0), 
    glycemiaProblem(1), 
    heartProblem(2)
} (0..255)

/** 
 * This DE is a general identifier.
 * 
 * @category: tbd
*/
Identifier ::= INTEGER (0..255)

/**
 * This DE represents the quality level of provided information.
 * 
 * 
 * @category: Other information
 * @note:	Definition of quality level is out of scope of the present document.
 */
InformationQuality ::= INTEGER {
    unavailable(0), 
    lowest(1), 
    highest(7)
} (0..7)

/** 
 * This DE defines the type of an interference management zone, so that an ITS-S can 
 * assert the actions to do while passing by such zone (e.g. reduce the transmit power in case of a DSRC tolling station).
 *
 * The value are specified as following:
 * - permanentCenDsrcTolling(0), --!< as specified in ETSI TS 102 792
 * - temporaryCenDsrcTolling(1), --!< as specified in ETSI TS 102 792
 * - unavailable(2),             --!< default value. Set to 2 for backwards compatibility with DSRC tolling
 * - urbanRail(3),               --!< as specified in ETSI TS 103 724, clause 7
 * - satelliteStation(4),        --!< as specified in ETSI TS 103 724, clause 7
 * - fixedLinks(5),              --!< as specified in ETSI TS 103 724, clause 7
 *
 * @category: Communication information
 */
InterferenceManagementZoneType ::= ENUMERATED {
    permanentCenDsrcTolling(0), --!< as specified in ETSI TS 102 792
    temporaryCenDsrcTolling(1), --!< as specified in ETSI TS 102 792
    unavailable(2),             --!< default value. Set to 2 for backwards compatibility with DSRC tolling
    urbanRail(3),               --!< as specified in ETSI TS 103 724, clause 7
    satelliteStation(4),        --!< as specified in ETSI TS 103 724, clause 7
    fixedLinks(5),              --!< as specified in ETSI TS 103 724, clause 7
    ...
}

/**
 * This DE represents the identifier of an intersection
 * 
 * @category: Communication information
 */
IntersectionID ::= INTEGER (0..65535)

/**
 * This DE indicates the transversal position information on the road in resolution of lanes, counted from
 * the inside border of the road for a given traffic direction. For example, the innermostDrivingLane corresponds
 * to the left most lane of the carriageway in a country with right-land traffic, and to the right most lane of the
 * carriageway in a left-land traffic (e.g. in UK). The value -1 denotes that the referenced position is outside the road.
 * 
 * @category: Road topology information
*/
LanePosition ::= INTEGER {
    offTheRoad(-1), 
    innerHardShoulder(0), 
    innermostDrivingLane(1),  
    secondLaneFromInside(2), 
    outerHardShoulder(14) 
} (-1..14)

/**
 *Thios DE represents the identifier of a lane.
 *
 * @note: the context of the identification (e.g. the intersection geometry of a MAPEM) is defined outside the DE
 *  
 * @category: Road topology information
*/
LaneId ::= INTEGER (0..255)

/**
 * This DE represents the type of a lane. The  following values are specified:
 *
 * - 0	traffic:				Lane dedicated to the movement of vehicles.
 * - 1	through:				Lane dedicated to the movement of vehicles travelling ahead and not turning.
 * - 2	reversible:				Lane where the direction of traffic can be changed to match the peak flow.
 * - 3	acceleration:			Lane that allows vehicles entering a road to accelerate to the speed of through traffic before merging with it.
 * - 4	deceleration:			Lane that allows vehicles exiting a road to decelerate before leaving it.
 * - 5	leftHandTurning:		Lane reserved for slowing down and making a left turn, so as not to disrupt traffic.
 * - 6	rightHandTurning:		Lane reserved for slowing down and making a right turn so as not to disrupt traffic.
 * - 7	dedicatedVehicle:		Lane dedicated to movement of motor vehicles with specific characteristics, such as heavy goods vehicles, etc. 
 * - 8	bus:					Lane: dedicated to movement of buses providing public transportation.
 * - 9	taxi:					Lane dedicated to movement of taxis.
 * - 10	hov:					Carpooling lane or high occupancy vehicle lane.
 * - 11	hot:					High occupancy vehicle lanes that is allowed to be used without meeting the occupancy criteria by paying a toll.
 * - 12	pedestrian:				Lanes dedicated to pedestrians such as pedestrian sidewalk paths.
 * - 13	bikeLane:				Lane dedicated to exclusive or preferred use by bicycles.
 * - 14	median:					Lane not dedicated to movement of vehicles but representing medians and channelization such as the central median separating the two directional carriageways of the highway.
 * - 15	striping:				Lane not dedicated to movement of vehicles but covered with roadway markings.
 * - 16	trackedVehicle:			Lane dedicated to movement of trains and trolleys.
 * - 17	parking:				Lanes dedicated to vehicles parking, stopping and loading lanes.
 * - 18	emergency:				Lane dedicated to vehicles in breakdown or to emergency vehicles also called hard shoulder.
 * - 19	verge:					Lane representing the verge, i.e. a narrow strip of grass or plants and sometimes also trees located between the road surface edge and the boundary of a road.
 * - 20	minimumRiskManoeuvre:	Lane dedicated to automated vehicles making a minimum risk manoeuvre.
 * - values 21 to 30:            reserved for future use 
 *
 * @category: Road topology information
*/
LaneType::= INTEGER{
	traffic 			(0),
	through				(1),
	reversible			(2),
	acceleration		(3),
	deceleration		(4),
	leftHandTurning		(5),
	rightHandTurning	(6),
	dedicatedVehicle	(7),
	bus					(8),
	taxi				(9),
	hov					(10),
	hot					(11),
	pedestrian			(12),
	bikeLane			(13),
	median              (14),   
	striping			(15),
	trackedVehicle		(16),
	parking				(17),
	emergency			(18),
	verge 				(19),
	minimumRiskManoeuvre(20),
	unknown				(31)
}(0..31)

/**
 * This DE represents the absolute geographical latitude in a WGS84 coordinate system, providing a range of 90 degrees in north or
 * in south hemisphere.
 *
 * - Positive values are used for latitude in north of the Equator,
 * - Negative values are used for latitude in south of the Equator.
 * - When the information is unavailable, the value shall be set to _900 000 001_.
 *
 * @unit: 0.1 microdegree
 * @category: GeoReference information
 */
Latitude ::= INTEGER {
    oneMicrodegreeNorth (10),
    oneMicrodegreeSouth (-10),
    unavailable(900000001)
} (-900000000..900000001)

/**
 * This DE represenst the vehicle acceleration at lateral direction in the centre of the mass of the empty vehicle.
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
 * - Negative value indicates that the vehicle is accelerating towards the right side with regards to the vehicle orientation.
 * - For values equal to or greater than 16 m/s2 towards the right, the value shall be set to -160.
 * - Positive values indicate the acceleration to the left hand side with regards to the vehicle orientation.
 * - For values equal to or greater than 16 m/s2 towards the left, the value shall be set to 160.
 * - When the information is not available, the value shall be set to 161.
 * 
 * 
 * @note:	The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 *  
 * @unit: 0.1 m/s<sup>2</sup>
 * @category Vehicle information
 */
LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161)

/**
 * This DE indicates the status of light bar and any sort of audible alarm system besides the horn.
 * This includes various common sirens as well as backup up beepers and other slow speed manoeuvring alerts.
 * When the light bar or audible alarm is active, the corresponding bits shall be set to 1.
 * Otherwise, it shall be set to 0.
 *
 * @category Vehicle information
 */
LightBarSirenInUse ::= BIT STRING {
    lightBarActivated (0),
    sirenActivated (1)
} (SIZE(2))

/**
 * This DE represents the absolute geographical longitude in a WGS84 co-ordinate system, providing a range of 180 degrees
 * to the east or to the west of the prime meridian.
 *
 * - Negative values are used for longitudes to the west,
 * - Positive values are used for longitudes to the east.
 * - When the information is unavailable, the value shall be set to _1 800 000 001_.
 *
 * @unit: 0.1 microdegree
 * @category: GeoReference information
 */
Longitude ::= INTEGER {
    oneMicrodegreeEast (10),
    oneMicrodegreeWest (-10),
    unavailable(1800000001)
} (-1800000000..1800000001)

 /**
 * This DE represents the vehicle acceleration at longitudinal direction in the centre of the mass of the empty vehicle.
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
 *
 * The following values are specified:
 * - Negative values indicate that the vehicle is braking.
 * - For values equal to or greater than 16 m/s2, the value shall be set to -160.
 * - Positive values indicate that the vehicle is accelerating.
 * - For acceleration equal to or greater than 16 m/s2 the value shall be set to 160.
 * - When the data is unavailable, the value shall be set to 161.
 * 
 * This acceleration is along the tangent plane of the road surface and does not include gravity components.
 * 
 * @note: The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 * @category: Vehicle information
 */
LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161)

/** 
 * This DE represents the longitudinal offset of the map-matched position of a particular object along the
 * matched lane, beginning from the lane’s starting point as defined in CEN ISO/TS 19091
 * 
 * @unit 0,1 m
 * @category: Road topology information
*/
LongitudinalLanePositionValue ::= INTEGER {
    zeroPointOneMeter   (1)
} (0..32767)

/** 
 * This DE represents the absolute accuracy of longitudinal lane position measurement to a confidence level of 95%.
 *
 * The following values are specified:
 * - zeroPointZeroOneMeter   (1): examplary value of 0,01 meter
 * - oneMeter                (100): examplary value of 1 meter
 * - outOfRange              (101): if the accuracy is out of range
 * - unavailable             (102): if the accuracy data is unavailable
 *
 * @unit 0,01 m
 * @category: Road topology information
*/
LongitudinalLanePositionConfidence ::= INTEGER {
    zeroPointZeroOneMeter   (1),
    oneMeter                (100),
    outOfRange              (101),
    unavailable             (102)  
} (0..102)

/** 
 * This DE represents the type of facility layer message.
 *
 *  The following values are specified:
 *	- 1 `denm`: Decentralized Environmental Notification Message (DENM) as specified in ETSI EN 302 637-3 [i.3],
 *  - 2 `cam`: Cooperative Awareness Message (CAM) as specified in ETSI EN 302 637-2 [i.2],
 *  - 3 `poi`: Point of Interest message as specified in ETSI TS 101 556-1 [i.11],
 *  - 4 `spatem`: Signal Phase And Timing (SPAT) message as specified in SAE J2735 [i.12] and in ETSI TS 103 301 [i.17],
 *  - 5 `mapem`: MAP message as specified in SAE J2735 [i.12] and in ETSI TS 103 301 [i.17],
 *  - 6 `ivim`: In Vehicle Information (IVI) message as defined in ISO TS 19321 [i.13],
 *  - 7 `ev-rsr`: Electric vehicle recharging spot reservation message, as defined in ETSI TS 101 556-3 [i.14],
 *  - 8 `tistpgtransaction`: messages for Tyre Information System (TIS) and Tyre Pressure Gauge (TPG) interoperability, as specified in ETSI TS 101 556-2 i.15,
 *  - 9 `srem`: Traffic light Signal Request Message as specified in ETSI TS 103 301 [i.17],
 *  - 10 `ssem`: Traffic Light Signal Request Status Message as specified in ETSI TS 103 301 [i.17].
 *  - 11 `evcsn`: Electrical Vehicle Charging Spot Notification message as specified in ETSI TS 101 556-1 [i.11],
 *  - 12 `saem`: Services Announcement Extended Message as specified in ETSI TS 102 890-1 i.19,
 *  - 13 `rtcmem`: Radio Technical Commission for Maritime Services (RTCM) Message as specified in ETSI TS 103 301 [i.17],
 *  - 14 `vam` : Vulnerable Road User Awareness Message as specified in ETS TS 130 300-3
 *  - 14-255: reserved for future usage,
 *
 * @category: Communication information
 * Revision: Created in V2.1.1
 */
MessageId::= INTEGER { 
    denm(1),  
    cam(2), 
    poi(3), 
    spatem(4), 
    mapem(5), 
    ivim(6), 
    ev-rsr(7), 
    tistpgtransaction(8), 
    srem(9), 
    ssem(10), 
    evcsn(11), 
    saem(12), 
    rtcmem(13), 
    vam(14) 
} (0..255)

/**
 * This DE represents the number of occupants in a vehicle.
 *
 * The following values are specified:
 * - For values equal to or higher than 126, the value shall be set to `126`.
 * - If the information is not available, the value shall be set to `127`.
 *
 * @unit: 1 person
 * @category: Vehicle information
 */
NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127)

/** 
 * This DE represents the confidence value for the type of a detected object.
 * 
 * The following values are specified:
 *
 * - unknown             (0),    --< in case the confidence value is unknown but the reported
 * -                               --< classification is still valid.
 * - onePercent          (1),
 * - oneHundredPercent   (100),
 * - unavailable         (101)   --< In case the class confidence value computation is not available
 *                               --< for this object. Indicates that the class assignment is invalid.
 * @unit Percent 
 * @category: Sensing information 
*/
ObjectClassConfidence ::= INTEGER {
    unknown             (0),   
    onePercent          (1),
    oneHundredPercent   (100),
    unavailable         (101)  
} (0..101)

/** 
 * This DE represents a single-value indication about the overall information quality of a perceived object on the computation.
 * 
 * The following values are specified:
 *  
 * - noConfidence        (0),    --< No confidence in detected object, e.g. for "ghost"-objects or
 * -                             --< if confidence could not be computed
 * -  fullConfidence     (15)    --< Full confidence in detected ObjectDescriptor
 * -
 * @unit n/a
 * @category: Sensing information
*/
ObjectConfidence ::= INTEGER {
    noConfidence        (0), 
    fullConfidence      (15) 
} (0..15)

/** 
 * This DE represents a single dimension of an object.
 *
 * @unit 0,1 m
 * @category: Sensing information
*/
ObjectDimensionValue ::= INTEGER {
    zeroPointOneMeter   (1),
    oneMeter            (10)
} (0..1023)

/** 
 * This DE represents the accuracy of the provided object dimension value with a  confidence level of 95%.
 *
 * @unit 0,01 m
 * @category: Sensing information
*/
ObjectDimensionConfidence ::= INTEGER {
    zeroPointZeroOneMeter   (1),
    oneMeter                (100),
    outOfRange              (101),
    unavailable             (102)
} (0..102)

/**
 * The DE indicates whether the detected object is classified as a dynamic (i.e. moving) object.
 * This value indicates whether an object has the general capability to move, i.e. change its
 * position.
 *
 * The following values are specified:
 * -  dynamic             (0),    --< the object is moving
 * -  hasBeenDynamic      (1),    --< indicates whether an object has been dynamic before, e.g., a car
 * -                               --< stopping at a traffic light
 * -  static              (2)     --< shall be used in case an object is identified to be not moving
 * -                               --< throughout any previous observation
 *
 * @unit n/a
 * @category: Sensing information
*/
ObjectDynamicStatus ::= INTEGER { -- t.b.d add unavailable
    dynamic             (0),
    hasBeenDynamic      (1),
    static              (2)    
} (0..2)

/** 
 * This DE indicate the approximate position of the reference point of measurement for the object dimensions. 
 * The point is included in the plane perpendicular to the direction of the object´s @ref yawAngleValue.
 *
 * @unit n/a
 * @category: Sensing information
*/
ObjectRefPoint ::= INTEGER {
    mid             (0),
    bottomLeft      (1),
    midLeft         (2),
    topLeft         (3),
    bottomMid       (4),
    topMid          (5),
    bottomRight     (6),
    midRight        (7),
    topRight        (8)
} (0..8)

/** 
 * This DE represents positions with lane-level accuracy which are not on regular traffic lanes. 
 * 
 * The following values are specified:
 * - unavailable(0): in case information on the lane position is unavailable,
 * - sidewalk (1),
 * - parkingLane (2), an area at the side of the road not intended for travel but for vehicular parking,
 * - bikeLane (3), an area reserved for bicycles,
 * - value 4-15: reserved for future usage. Value 15 set to "max" in order to bound the size of the encoded field.
 *
 * @unit n/a
 * @category: Road topology information

*/
OffRoadLanePosition ::= ENUMERATED {
   unavailable(0), 
   sidewalk(1), 
   parkingLane(2), 
   bikeLane(3), 
   max(15)
}

/**
 * This DE represents a time period to describe the opening days and hours of a Point of Interest
 * (for example local commerce).
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Time information
 */
OpeningDaysHours ::= UTF8String 

/** 
 * This DE indicates the subclass of a detected object for object class "otherSubclass".
 *
 * The following values are specified:
 * - unknown(0): the subclasss is unknown.
 * - roadSideUnit (1): the object is a roadside unit.
 *
 * @category: Sensing information
 * Revision: Created in V2.1.1
 */
OtherSubclass ::= INTEGER {
    unknown         (0),
    roadSideUnit    (1)
} (0..255)

/**
 * This DE represents the recorded or estimated travel time between a position and a predefined reference position. 
 *
 * @unit 0.01 second
 * @category GeoReference information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
PathDeltaTime ::= DeltaTimeHundredthOfSecond
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE denotes the ability of an ITS-S to provide up-to-date information.
 * A performance class value is used to describe age of data. The exact values are out of scope of the present document.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * As defined in ETSI TS 101 539-1 [i.6], performance class A shall be set to `1`, performance class B shall be set to 2.
 * When the performance class is unknown, it shall be set to `0`. 
 * 
 * Values in the range `3 to 7` are reserved for future use.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Vehicle information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
PerformanceClass ::= INTEGER { --tbd semantics
    unavailable(0), 
    performanceClassA(1), 
    performanceClassB(2)} (0..7)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents a telephone number
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @category: Other information
 */
PhoneNumber ::= NumericString (SIZE(1..16))

/**
 * This DE indicates the perpendicular distance from the centre of mass of an empty load vehicle to the front line of
 * the vehicle bounding box of the empty load vehicle.
 *
 * The following values are specified:
 * - The DE is set to any aplicable value between 0,1 meter and 6,2 meters. 
 * - For values equal to or higher than 6.2 metres, the data value be set to `62`.
 * - The value shall be set to `63` if the information is unavailable.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @note:	The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 *
 * @unit 0,1 metre 
 * @category Vehicle information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
PosCentMass ::= INTEGER {
    tenCentimeters(1), 
    unavailable(63)
} (1..63)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE indicates the positioning technology being used to estimate a geographical position.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * The followin values are specified:
 * - o `noPositioningSolution`: no positioning solution used,
 * - 1 `sGNSS`: Global Navigation Satellite System used,
 * - 2 `dGNSS`: Differential GNSS used,
 * - 3 `sGNSSplusDR`: GNSS and dead reckoning used,
 * - 4 `dGNSSplusDR`: Differential GNSS and dead reckoning used,
 * - 5 `dR`: dead reckoning used.
 *
 * @category: GeoReference information
 */
PositioningSolutionType ::= ENUMERATED {
    noPositioningSolution(0), 
    sGNSS(1), dGNSS(2), 
    sGNSSplusDR(3), 
    dGNSSplusDR(4), 
    dR(5), ...}

/**
 * This DE indicates whether a passenger seat is occupied or whether the occupation status is detectable or not.
 * 
 * The number of row in vehicle seats layout is counted in rows from the driver row backwards from front to the rear
 * of the vehicle.
 * The left side seat of a row refers to the left hand side seen from vehicle rear to front.
 * Additionally, a bit is reserved for each seat row, to indicate if the seat occupation of a row is detectable or not,
 * i.e. `row1NotDetectable (3)`, `row2NotDetectable(8)`, `row3NotDetectable(13)` and `row4NotDetectable(18)`.
 * Finally, a bit is reserved for each row seat to indicate if the seat row is present or not in the vehicle,
 * i.e. row1NotPresent `(4)`, row2NotPresent `(9)`, `row3NotPresent(14)`, `row4NotPresent(19)`.
 * 
 * When a seat is detected to be occupied, the corresponding seat occupation bit shall be set to `1`.
 * For example, when the row 1 left seat is occupied, `row1LeftOccupied(0)` bit shall be set to 1.
 * When a seat is detected to be not occupied, the corresponding seat occupation bit shall be set to `0`.
 * Otherwise, the value of seat occupation bit shall be set according to the following conditions:
 * - If the seat occupation of a seat row is not detectable, the corresponding bit shall be set to `1`.
 *   When any seat row not detectable bit is set to `1`, all corresponding seat occupation bits of the same row
 *   shall be set to `1`.
 * - If the seat row is not present, the corresponding not present bit of the same row shall be set to `1`.
 *   When any of the seat row not present bit is set to `1`, the corresponding not detectable bit for that row
 *   shall be set to `1`, and all the corresponding seat occupation bits in that row shall be set to `0`.
 * 
 * @category: Vehicle information
 */
PositionOfOccupants ::= BIT STRING {
    row1LeftOccupied (0),
    row1RightOccupied (1),
    row1MidOccupied (2),
    row1NotDetectable (3),
    row1NotPresent (4),
    row2LeftOccupied (5),
    row2RightOccupied (6),
    row2MidOccupied (7),
    row2NotDetectable (8),
    row2NotPresent (9),
    row3LeftOccupied (10),
    row3RightOccupied (11),
    row3MidOccupied (12),
    row3NotDetectable (13),
    row3NotPresent (14),
    row4LeftOccupied (15),
    row4RightOccupied (16),
    row4MidOccupied (17),
    row4NotDetectable (18),
    row4NotPresent (19)} (SIZE(20))

/**
 * This DE indicates the perpendicular distance between the vehicle front line of the bounding box and the front wheel axle in 10 centimetres.
 *
 * The following values are specified:
 * - The DE is set to any aplicable value between 0,1 meter and 1,9 meters. 
 * - For values equal to or higher than 1.9 metres, the DE shall be set to `19`.
 * - The value shall bet set to `20` if the information is unavailable.
 *
 * @category: Vehicle information
 * @unit 0.1 metre
 */
PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20)

/**
 * This DE represents the distance from the centre of vehicle front bumper to the right or left longitudinal carrier of vehicle.
 * The left/right carrier refers to the left/right as seen from a passenger sitting in the vehicle.
 *
 * The following values are specified:
 * - The DE is set to any aplicable value between 0,01 meter and 1,26 meters. 
 * - For values equal to or higher than 1.26 metres, the value shall be set to `126`.
 * - If the information is unavailable, the value shall be set to `127`.
 *
 * @unit 0,01 metre 
 * @category Vehicle information
 */
PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127)

/**
 * This DE represents the perpendicular inter-distance of neighbouring pillar axis of vehicle starting from the
 * middle point of the front line of the vehicle bounding box.
 *
 * The following values are specified:
 * - The DE is set to any aplicable value between 0,1 meter and 2,9 meters. 
 * - For values equal to or greater than 2.9 metres, the value shall be set to `29`.
 * - The value shall be set to `30` if the information is unavailable.
 * 
 * @unit 0,1 metre 
 * @category Vehicle information
 */
PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30)

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `postCrash` .
 * 
* The following values are specified:
 * - 0 `unavailable`: in case further detailed information on post crash event is unavailable,
 * - 1 `accidentWithoutECallTriggered`: in case no eCall has been triggered for an accident,
 * - 2 `accidentWithECallManuallyTriggered`: in case eCall has been manually triggered and transmitted to eCall back end,
 * - 3 `accidentWithECallAutomaticallyTriggered`: in case eCall has been automatically triggered and transmitted to eCall back end,
 * - 4 `accidentWithECallTriggeredWithoutAccessToCellularNetwork`: in case eCall has been triggered but cellular network is not accessible from triggering vehicle,
 * - 5-255: reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
PostCrashSubCauseCode ::= INTEGER {
    unavailable(0), 
    accidentWithoutECallTriggered (1), 
    accidentWithECallManuallyTriggered (2), 
    accidentWithECallAutomaticallyTriggered (3), 
    accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)
Denis Filatov's avatar
Denis Filatov committed
} (0..255)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represenst the indentifier of a protected communication zone.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * 
 * @category: Infrastructure information, Communication information
 */
ProtectedZoneID ::= INTEGER (0.. 134217727)

/**
 * This DE represenst the radius of a protected communication zone. 
 * 
 * 
 * @unit: metre
 * @category: Infrastructure information, Communication information
 */
ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...)

/**
 * This DE indicates the type of a protected communication zone, so that an ITS-S is aware of the actions to do
 * while passing by such zone (e.g. reduce the transmit power in case of a DSRC tolling station).
 * 
 * The protected zone type is defined in ETSI TS 102 792 [i.16].
 * 
 * 
 * @category: Communication information
 */
ProtectedZoneType::= ENUMERATED {
    permanentCenDsrcTolling (0), 
    ..., 
    temporaryCenDsrcTolling (1) 
}

/**
 * This DE is used for various tasks in the public transportation environment, especially for controlling traffic
 * signal systems to prioritize and speed up public transportation in urban area (e.g. intersection "_bottlenecks_").
 * The traffic lights may be controlled by an approaching bus or tram automatically. This permits "_In Time_" activation
 * of the green phase, will enable the individual traffic to clear a potential traffic jam in advance. Thereby the
 * approaching bus or tram may pass an intersection with activated green light without slowing down the speed due to
 * traffic congestion. Other usage of the DE is the provision of information like the public transport line number
 * or the schedule delay of a public transport vehicle.
 * 
 */
PtActivationData ::= OCTET STRING (SIZE(1..20))

/**
 * This DE indicates a certain coding type of the PtActivationData data.
 *
 * The folowing value are specified:
 * - `0`: undefined coding type,
 * - `1`: coding of PtActivationData conform to VDV recommendation 420 [i.8],
 * - `2`: coding of PtActivationData based on VDV recommendation 420 [i.8].
 * - values 3 to 255 are reserved for alternative and future use.
 * 
 * @category: Vehicle information 
 */
PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255)

/** 
 * This DE represents a reference point counter for a trailer.
 * @unit n/a
*/
RefPointId ::= INTEGER (0..255)

/**
 * This DE describes a distance of relevance for information indicated in a message.
 *
 * @category: GeoReference information
 */
RelevanceDistance ::= ENUMERATED {
    lessThan50m(0), 
    lessThan100m(1), 
    lessThan200m(2), 
    lessThan500m(3), 
    lessThan1000m(4), 
    lessThan5km(5), 
    lessThan10km(6), 
    over10km(7)
}

/**
 * This DE indicates a traffic direction that is relevant to information indicated in a message.
 * 
 * The terms `upstream`, `downstream` and `oppositeTraffic` are relative to the event position.
 *
 * @note: Upstream traffic corresponds to the incoming traffic towards the event position,
 * and downstream traffic to the departing traffic away from the event position.
 *
 * @category: GeoReference information
 */
RelevanceTrafficDirection ::= ENUMERATED {
    allTrafficDirections(0), 
    upstreamTraffic(1), 
    downstreamTraffic(2), 
    oppositeTraffic(3)}

/**
 * This DE indicates whether an ITS message is transmitted as request from ITS-S or a response transmitted from
 * ITS-S after receiving request from other ITS-Ss.
 *
 * @category Communication information
 */
RequestResponseIndication ::= ENUMERATED {
    request(0), 
    response(1)
}

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `rescueAndRecoveryWorkInProgress` 
 * 
 * The following value are specified:
 * - 0 `unavailable`             : in case further detailed information on rescue and recovery work is unavailable,
 * - 1 `emergencyVehicles`       : in case rescue work is ongoing by emergency vehicles,
 * - 2 `rescueHelicopterLanding` : in case rescue helicopter is landing,
 * - 3 `policeActivityOngoing`   : in case police activity is ongoing,
 * - 4 `medicalEmergencyOngoing` : in case medical emergency recovery is ongoing,
 * - 5 `childAbductionInProgress`: in case a child kidnapping alarm is activated and rescue work is ongoing,
 * - 6-255: reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {
   unavailable(0), 
   emergencyVehicles(1), 
   rescueHelicopterLanding(2), 
   policeActivityOngoing(3), 
   medicalEmergencyOngoing(4), 
   childAbductionInProgress(5)
Denis Filatov's avatar
Denis Filatov committed
} (0..255)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents A unique identifier assigned to an entity.
 * 
 * @category: Road Topology Information
 */
RoadRegulatorId ::= INTEGER (0..65535)

/**
 * This DE represnets an identifier assigned to a section of roadway.
 * 
 * @category: Road Topology Information
 */
RoadSegmentID ::= INTEGER (0..65535)

/**
 * This DE indicates the type of a road segment.
 * 
 * @category: Road Topology Information
 */
RoadType ::= ENUMERATED {
    urban-NoStructuralSeparationToOppositeLanes(0),
    urban-WithStructuralSeparationToOppositeLanes(1),
    nonUrban-NoStructuralSeparationToOppositeLanes(2),
    nonUrban-WithStructuralSeparationToOppositeLanes(3)}

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `roadworks`.
 * 
Denis Filatov's avatar
Denis Filatov committed
 * The sub causes are described as following:
tijinkj's avatar
tijinkj committed
 * - 0 `unavailable`                 : in case further detailed information on roadworks is unavailable,
 * - 1 `majorRoadworks`              : in case a major roadworks is ongoing,
 * - 2 `roadMarkingWork`             : in case a road marking work is ongoing,
 * - 3 `slowMovingRoadMaintenance`   : in case slow moving road maintenance work is ongoing,
 * - 4 `shortTermStationaryRoadworks`: in case a short term stationary roadwork is ongoing,
 * - 5 `streetCleaning`              : in case a vehicle street cleaning work is ongoing,
 * - 6 `winterService`               : in case winter service work is ongoing,
 * - 7-255 reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
RoadworksSubCauseCode ::= INTEGER {
    unavailable(0), 
    majorRoadworks(1),
    roadMarkingWork(2), 
    slowMovingRoadMaintenance(3), 
    shortTermStationaryRoadworks(4), 
   streetCleaning(5),