ETSI-ITS-CDD.asn 319 KB
Newer Older
tijinkj's avatar
tijinkj committed
    flammableGases                                       (6),
    nonFlammableGases                                    (7),
    toxicGases                                           (8),
    flammableLiquids                                     (9),
    flammableSolids                                      (10),
    substancesLiableToSpontaneousCombustion              (11),
    substancesEmittingFlammableGasesUponContactWithWater (12),
    oxidizingSubstances                                  (13),
    organicPeroxides                                     (14),
    toxicSubstances                                      (15),
    infectiousSubstances                                 (16),
    radioactiveMaterial                                  (17),
    corrosiveSubstances                                  (18),
    miscellaneousDangerousSubstances                     (19)
}

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `dangerousSituation` 
tijinkj's avatar
tijinkj committed
 * 
 * The value shall be set to:
 * - 0 - `unavailable`                      - in case information on the type of dangerous situation is unavailable,
 * - 1 - `emergencyElectronicBrakeEngaged`  - in case emergency electronic brake is engaged,
 * - 2 - `preCrashSystemEngaged`            - in case pre-crash system is engaged,
 * - 3 - `espEngaged`                       - in case Electronic Stability Program (ESP) system is engaged,
 * - 4 - `absEngaged`                       - in case Anti-lock Braking System (ABS) is engaged,
 * - 5 - `aebEngaged`                       - in case Autonomous Emergency Braking (AEB) system is engaged,
 * - 6 - `brakeWarningEngaged`              - in case brake warning is engaged,
 * - 7 - `collisionRiskWarningEngaged`      - in case collision risk warning is engaged,
tijinkj's avatar
tijinkj committed
 * - 8-255                                  - reserved for future usage.
 *
 * @category: Traffic information
 * @revision: V1.3.1
 */
DangerousSituationSubCauseCode ::= INTEGER {
    unavailable                     (0), 
    emergencyElectronicBrakeEngaged (1), 
    preCrashSystemEngaged           (2), 
    espEngaged                      (3), 
    absEngaged                      (4), 
    ebEngaged                       (5), 
    brakeWarningEngaged             (6), 
    collisionRiskWarningEngaged     (7)
} (0..255)

/**
 * This DE represents an offset altitude with regards to a defined altitude value.
 * It may be used to describe a geographical point with regards to a specific reference geographical position.
 *
 * The value shall be set to:
 * - `-12 700` for values equal to or lower than -127 metres,
 * - `n` (`n > -12 700` and `n <= 0`) for altitude offset n x 0,01 metre below the reference position,
 * - `0` for no altitudinal offset,
 * - `n` (`n > 0` and `n < 12799`) for altitude offset n x 0,01 metre above the reference position,
 * - `12 799` for values equal to or greater than 127,99 metres,
 * - `12 800` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 0,01 metre
tijinkj's avatar
tijinkj committed
 * @category: GeoReference information
 * @revision: editorial update in V2.1.1
 */
DeltaAltitude ::= INTEGER {
    negativeOutOfRange (-12700),
    positiveOutOfRange (12799),
    unavailable        (12800)
} (-12700..12800)

/**
 * This DE represents an offset latitude with regards to a defined latitude value.
 * It may be used to describe a geographical point with regards to a specific reference geographical position.
 *
 * The value shall be set to:
 * - `n` (`n >= -131 071` and `n < 0`) for offset n x 10^-7 degree towards the south from the reference position,
 * - `0` for no latitudinal offset,
 * - `n` (`n > 0` and `n < 131 072`) for offset n x 10^-7 degree towards the north from the reference position,
 * - `131 072` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 10^-7 degree
tijinkj's avatar
tijinkj committed
 * @category: GeoReference information
 * @revision: editorial update in V2.1.1
 */
DeltaLatitude ::= INTEGER {
    unavailable (131072)
} (-131071..131072)

/**
 * This DE represents an offset longitude with regards to a defined longitude value.
 * It may be used to describe a geographical point with regards to a specific reference geographical position.
 *
 * The value shall be set to:
 * - `n` (`n >= -131 071` and `n < 0`) for offset n x 10^-7 degree towards the west from the reference position,
 * - `0` for no longitudinal offset,
 * - `n` (`n > 0` and `n < 131 072`) for offset n x 10^-7 degree towards the east from the reference position, 
 * - `131 072` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 10^-7 degree
tijinkj's avatar
tijinkj committed
 * @category: GeoReference information
 * @revision: editorial update in V2.1.1
 */
DeltaLongitude ::= INTEGER {
    unavailable (131072)
} (-131071..131072)

/**
 * This DE represents a difference in time with respect to a reference time.
tijinkj's avatar
tijinkj committed
 *
 * The value shall be set to:
 * - `n` (`n > 0` and `n < 10001`) to indicate a time value equal to or less than n x 0,001 s, and greater than (n-1) x 0,001 s,
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * Example: a time interval between two consecutive message transmissions.
 * 
tijinkj's avatar
tijinkj committed
 * @unit: 0,001 s
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 from the DE TransmissionInterval in [2]
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
DeltaTimeMilliSecondPositive ::= INTEGER (1..10000)
tijinkj's avatar
tijinkj committed

/** 
tijinkj's avatar
tijinkj committed
 * This DE represents a signed difference in time with respect to a reference time.
 *
 * The value shall be set to:
 * - `-2048` for time values equal to or less than -2,048 s,
 * - `n` (`n > -2048` and `n < 2047`) to indicate a time value equal to or less than n x 0,001 s, and greater than (n-1) x 0,001 s,
 * - `2047` for time values greater than 2,046 s
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 0,001 s
tijinkj's avatar
tijinkj committed
 * @category: Basic information
 * @revision: Created in V2.1.1
*/
tijinkj's avatar
tijinkj committed
DeltaTimeMilliSecondSigned ::= INTEGER (-2048..2047)
tijinkj's avatar
tijinkj committed

/** 
 * This DE represents a difference in time with respect to a reference time.
tijinkj's avatar
tijinkj committed
 * It can be interpreted as the first 8 bits of a GenerationDeltaTime. To convert it to a @ref GenerationDeltaTime, 
 * multiply by 256 (i.e. append a `00` byte)
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 256 * 0,001 s 
tijinkj's avatar
tijinkj committed
 * @category: Basic information
 * @revision: Created in V2.1.1
 */
tijinkj's avatar
tijinkj committed
DeltaTimeQuarterSecond::= INTEGER {
    unavailable (255)  
} (1..255) 
tijinkj's avatar
tijinkj committed

/** 
tijinkj's avatar
tijinkj committed
 * This DE represents a difference in time with respect to a reference time.
 *
 * The value shall be set to:
 * - `0` for a difference in time of 0 seconds. 
 * - `n` (`n > 0` and `n < 128`) to indicate a time value equal to or less than n x 0,1 s, and greater than (n-1) x 0,1 s,
tijinkj's avatar
tijinkj committed
 *
 * @unit: 0,1 s
 * @category: Basic information
 * @revision: Created in V2.1.1
*/
DeltaTimeTenthOfSecond::= INTEGER {
    unavailable (127)  
} (0..127) 

/** 
 * This DE represents a  difference in time with respect to a reference time.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `-0` for a difference in time of 0 seconds. 
 * - `n` (`n > 0` and `n <= 86400`) to indicate a time value equal to or less than n x 1 s, and greater than (n-1) x 1 s,
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 1 s
 * @category: Basic information
 * @revision: Created in V2.1.1 from ValidityDuration
*/
DeltaTimeSecond ::= INTEGER  (0..86400)

tijinkj's avatar
tijinkj committed
/**
 * This DE represents a difference in time with respect to a reference time.
 *
 * The value shall be set to:
 * - `-0` for a difference in time of 0 seconds. 
tijinkj's avatar
tijinkj committed
 * - `n` (`n > 0` and `n < 128`) to indicate a time value equal to or less than n x 10 s, and greater than (n-1) x 10 s,
tijinkj's avatar
tijinkj committed
 *
 * @unit: 10 s
 * @category: Basic information
 * @revision: Created in V2.2.1
*/
DeltaTimeTenSeconds ::= INTEGER  (0..127)  

tijinkj's avatar
tijinkj committed
/**
 * This DE indicates a direction with respect to a defined reference direction.
 * Example: a reference direction may be implicitly defined by the definition of a geographical zone.
 *
 * The value shall be set to:
 * - 0 - `sameDirection`     - to indicate the same direction as the reference direction,
 * - 1 - `oppositeDirection` - to indicate opposite direction as the reference direction,
 * - 2 - `bothDirections`    - to indicate both directions, i.e. the same and the opposite direction,
 * - 3 - `unavailable`       - to indicate that the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @category: GeoReference information
 * @revision: Created in V2.1.1
 */
Direction::= INTEGER{
    sameDirection     (0),
    oppositeDirection (1),
    bothDirections    (2),
    unavailable       (3)
 } (0..3)

/**
 * This DE indicates in which direction something is moving.
 *
 * The value shall be set to:
 * - 0 - `forward`     - to indicate it is moving forward,
 * - 1 - `backwards`   - to indicate it is moving backwards,
 * - 2 - `unavailable` - to indicate that the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Kinematic information
tijinkj's avatar
tijinkj committed
 * @revision: editorial update in V2.1.1
 */
DriveDirection ::= ENUMERATED {
    forward     (0), 
    backward    (1), 
    unavailable (2)
}

/**
 * This DE indicates whether a driving lane is open to traffic.
 * 
tijinkj's avatar
tijinkj committed
 * A lane is counted from inside border of the road excluding the hard shoulder. The size of the bit string shall
tijinkj's avatar
tijinkj committed
 * correspond to the total number of the driving lanes in the carriageway.
 * 
 * The numbering is matched to @ref LanePosition.
 * The bit `0` is used to indicate the innermost lane, bit `1` is used to indicate the second lane from inside border.
tijinkj's avatar
tijinkj committed
 * 
 * If a lane is closed to traffic, the corresponding bit shall be set to `1`. Otherwise, it shall be set to `0`.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * @note: hard shoulder status is not provided by this DE but in @ref HardShoulderStatus.
tijinkj's avatar
tijinkj committed
 * 
 * @category: Traffic information
 * @revision: V1.3.1
 */
DrivingLaneStatus ::= BIT STRING (SIZE (1..13))

/**
 * This DE indicates whether a vehicle (e.g. public transport vehicle, truck) is under the embarkation process.
 * If that is the case, the value is *TRUE*, otherwise *FALSE*.
 *
 * @category: Vehicle information
 * @revision: editorial update in V2.1.1
 */
EmbarkationStatus ::= BOOLEAN

/**
 * This DE indicates the right of priority requested or assumed by an operating emergency vehicle.
 * The right-of-priority bit shall be set to `1` if the corresponding right is requested.
tijinkj's avatar
tijinkj committed
 * 
 * The corresponding bit shall be set to 1 under the following conditions:
 * - 0 - `requestForRightOfWay`                  - when the vehicle is requesting/assuming the right of way,
 * - 1 - `requestForFreeCrossingAtATrafficLight` - when the vehicle is requesting/assuming the right to pass at a (red) traffic light.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
 * @revision: description revised in V2.1.1
 */
EmergencyPriority ::= BIT STRING {
    requestForRightOfWay                  (0), 
    requestForFreeCrossingAtATrafficLight (1)
} (SIZE(2))

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode "emergencyVehicleApproaching". 
 * 
 * The value shall be set to:
 * - 0 - `unavailable`                   - in case further detailed information on the emergency vehicle approaching event 
tijinkj's avatar
tijinkj committed
 *                                         is unavailable,
 * - 1 - `emergencyVehicleApproaching`   - in case an operating emergency vehicle is approaching,
 * - 2 - `prioritizedVehicleApproaching` - in case a prioritized vehicle is approaching,
tijinkj's avatar
tijinkj committed
 * - 3-255                               - reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
 * @revision: V1.3.1
 */
EmergencyVehicleApproachingSubCauseCode ::= INTEGER {
    unavailable                   (0), 
    emergencyVehicleApproaching   (1), 
    prioritizedVehicleApproaching (2)
} (0..255)

/**
 * This DE indicated the type of energy being used and stored in vehicle.
 *
 * The corresponding bit shall be set to 1 under the following conditions:
 * - 0 - `hydrogenStorage`       - when hydrogen is being used and stored in vehicle,
 * - 1 - `electricEnergyStorage` - when electric energy is being used and stored in vehicle,
 * - 2 - `liquidPropaneGas`      - when liquid Propane Gas (LPG) is being used and stored in vehicle,   
 * - 3 - `compressedNaturalGas ` - when compressedNaturalGas (CNG) is being used and stored in vehicle,
 * - 4 - `diesel`                - when diesel is being used and stored in vehicle,
 * - 5 - `gasoline`              - when gasoline is being used and stored in vehicle,
 * - 6 - `ammonia`               - when ammonia is being used and stored in vehicle.
tijinkj's avatar
tijinkj committed
 *
 * - Otherwise, the corresponding bit shall be set to `0`.
tijinkj's avatar
tijinkj committed
 *
 * @category: Vehicle information
 * @revision: editorial revision in V2.1.1 
 */
EnergyStorageType ::= BIT STRING {
    hydrogenStorage       (0), 
    electricEnergyStorage (1), 
    liquidPropaneGas      (2), 
    compressedNaturalGas  (3), 
    diesel                (4), 
    gasoline              (5), 
    ammonia               (6)
}(SIZE(7))

/**
tijinkj's avatar
tijinkj committed
 * This DE represents one of the specific categories in the L category: L1, L2, L3, L4, L5, L6, or L7 according to UNECE/TRANS/WP.29/78/Rev.4 [16].
tijinkj's avatar
tijinkj committed
 *
 *
 * @category: Vehicle information
 * @revision: V2.1.1
 */
EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 }

/**
tijinkj's avatar
tijinkj committed
 * This DE represents one of the specific categories in the M category: M1, M2, or M3 according to UNECE/TRANS/WP.29/78/Rev.4 [16].
tijinkj's avatar
tijinkj committed
 *
 *
 * @category: Vehicle information
 * @revision: V2.1.1
 */
EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3}

/**
tijinkj's avatar
tijinkj committed
 * This DE represents one of the specific categories in the N category: N1, N2, or N3 according to UNECE/TRANS/WP.29/78/Rev.4 [16].
tijinkj's avatar
tijinkj committed
 *
 *
 * @category: Vehicle information
 * @revision: V2.1.1
 */
EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3}

/**
tijinkj's avatar
tijinkj committed
 * This DE represents one of the specific categories in the O category: O1, O2, O3 or O4 according to UNECE/TRANS/WP.29/78/Rev.4 [16].
tijinkj's avatar
tijinkj committed
 *
 *
 * @category: Vehicle information
 * @revision: V2.1.1
 */
EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4}

/**
tijinkj's avatar
tijinkj committed
 * This DE describes the status of the exterior light switches of a vehicle incl. VRU vehicles.
tijinkj's avatar
tijinkj committed
 *
 * The corresponding bit shall be set to 1 under the following conditions:
 * - 0 - `lowBeamHeadlightsOn`    - when the low beam head light switch is on,
 * - 1 - `highBeamHeadlightsOn`   - when the high beam head light switch is on,
 * - 2 - `leftTurnSignalOn`       - when the left turnSignal switch is on,
 * - 3 - `rightTurnSignalOn`      - when the right turn signal switch is on,
 * - 4 - `daytimeRunningLightsOn` - when the daytime running light switch is on,
 * - 5 - `reverseLightOn`         - when the reverse light switch is on,
 * - 6 - `fogLightOn`             - when the tail fog light switch is on,
 * - 7 - `parkingLightsOn`        - when the parking light switch is on.
tijinkj's avatar
tijinkj committed
 * 
 * @note: The value of each bit indicates the state of the switch, which commands the corresponding light.
 * The bit corresponding to a specific light is set to `1`, when the corresponding switch is turned on,
tijinkj's avatar
tijinkj committed
 * either manually by the driver or automatically by a vehicle system. The bit value does not indicate
 * if the corresponding lamps are alight or not.
 * 
 * If a vehicle is not equipped with a certain light or if the light switch status information is not available,
 * the corresponding bit shall be set to `0`.
tijinkj's avatar
tijinkj committed
 * 
 * As the bit value indicates only the state of the switch, the turn signal and hazard signal bit values shall not
 * alternate with the blinking interval.
 * 
 * For hazard indicator, the `leftTurnSignalOn (2)` and `rightTurnSignalOn (3)` shall be both set to `1`.
tijinkj's avatar
tijinkj committed
 * 
 * @category Vehicle information
 * @revision: Description revised in V2.1.1
 */
ExteriorLights ::= BIT STRING {
    lowBeamHeadlightsOn      (0),
    highBeamHeadlightsOn     (1),
    leftTurnSignalOn         (2),
    rightTurnSignalOn        (3),
    daytimeRunningLightsOn   (4),
    reverseLightOn           (5),
    fogLightOn               (6),
    parkingLightsOn          (7)
} (SIZE(8))

/**
 * This DE represents a timestamp based on TimestampIts modulo 65 536.
 * This means that generationDeltaTime = TimestampIts mod 65 536.
 *
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 based on ETSI TS 103 900 [1]
tijinkj's avatar
tijinkj committed
*/
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 value shall be set to:
 * - 0 - `availableForStopping` - if the hard shoulder is available for stopping in e.g. emergency situations,
 * - 1 - `closed`               - if the hard shoulder is closed and cannot be occupied in any case,
 * - 2 - `availableForDriving`  - if the hard shoulder is available for regular driving.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
 * @revision: Description revised in V2.1.1
 */
HardShoulderStatus ::= ENUMERATED {
    availableForStopping (0), 
    closed               (1), 
tijinkj's avatar
tijinkj committed
    availableForDriving  (2)
}
tijinkj's avatar
tijinkj committed

/**
 * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-AnimalOnTheRoad`.
tijinkj's avatar
tijinkj committed
 * 
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `unavailable`          - in case further detailed information on the animal(s) on the road is unavailable,
 * - 1 - `wildAnimals`          - in case wild animals of unknown size are present on the road,
 * - 2 - `herdOfAnimals`        - in case a herd of animals is present on the road,
 * - 3 - `smallAnimals`         - in case small size animals of unknown type are present on the road,
 * - 4 - `largeAnimals`         - in case large size animals of unknown type are present on the road,
 * - 5 - `wildAnimalsSmall`     - in case small size wild animal(s) are present on the road,
 * - 6 - `wildAnimalsLarge`     - in case large size wild animal(s) are present on the road,
 * - 7 - `domesticAnimals`      - in case domestic animal(s) of unknown size are detected on the road,
 * - 8 - `domesticAnimalsSmall` - in case small size domestic animal(s) are present on the road,
 * - 9 - `domesticAnimalsLarge` - in case large size domestic animal(s) are present on the road.
 * - 10-255                     - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1, named values 5 to 9 added in V2.2.1 
tijinkj's avatar
tijinkj committed
 */
HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable           (0), 
    wildAnimals           (1), 
    herdOfAnimals         (2), 
    smallAnimals          (3), 
    largeAnimals          (4),
    wildAnimalsSmall      (5),
    wildAnimalsLarge      (6),
    domesticAnimals       (7),
    domesticAnimalsSmall  (8),
    domesticAnimalsLarge  (9)
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE represents the sub cause code of the @ref CauseCode  `hazardousLocation-DangerousCurve`.
tijinkj's avatar
tijinkj committed
 * 
 * The value shall be set to:
 * - 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 starting with a right turn curve.
tijinkj's avatar
tijinkj committed
 * - 6-255                                                    - are 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
 * @revision: V1.3.1
 */
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`. 
tijinkj's avatar
tijinkj committed
 * 
 * The value shall be set to:
 * - 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.
tijinkj's avatar
tijinkj committed
 * - 8-255                - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
 * @revision: V1.3.1
 */
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`. 
tijinkj's avatar
tijinkj committed
 * 
The value shall be set to:
 * - 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 - `fire`            - in case there is fire on or near to the road surface.
tijinkj's avatar
tijinkj committed
 * - 11-255                 - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
 * @revision: V1.3.1
 */
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)

/**
tijinkj's avatar
tijinkj committed
 * This DE indicates the heading confidence value which represents the estimated absolute accuracy of a heading value with a confidence level of 95 %.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `n` (`n > 0` and `n < 126`) if the confidence value is equal to or less than n x 0,1 degree and more than (n-1) x 0,1 degree,
 * - `126` if the confidence value is out of range, i.e. greater than 12,5 degrees,
 * - `127` if the confidence value information is not available.
tijinkj's avatar
tijinkj committed
 * 
 * @note:	The fact that a value is received with confidence value set to `unavailable(127)` can be caused by several reasons,
tijinkj's avatar
tijinkj committed
 * such as:
 * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor,
 * - the sensor cannot calculate the accuracy due to lack of variables, or
 * - there has been a vehicle bus (e.g. CAN bus) error.
tijinkj's avatar
tijinkj committed
 * In all 3 cases above, the heading value may be valid and used by the application.
tijinkj's avatar
tijinkj committed
 *
 * @note: If a heading value is received and its confidence value is set to `outOfRange(126)`, it means that the 
tijinkj's avatar
tijinkj committed
 * heading value is not valid and therefore cannot be trusted. Such value is not useful for the application.
tijinkj's avatar
tijinkj committed
 * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref Wgs84AngleConfidence instead. 
tijinkj's avatar
tijinkj committed
 * 
 * @unit: 0,1 degree
 * @category: GeoReference information
 * @revision: Description revised in V2.1.1
 */
tijinkj's avatar
tijinkj committed
HeadingConfidence ::= INTEGER {
    outOfRange  (126), 
    unavailable (127)  
} (1..127)
tijinkj's avatar
tijinkj committed

/**
 * This DE represents the orientation of the horizontal velocity vector with regards to the WGS84 north.
 * When the information is not available, the DE shall be set to 3 601. The value 3600 shall not be used.
 *
tijinkj's avatar
tijinkj committed
 * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref Wgs84AngleValue instead. 
tijinkj's avatar
tijinkj committed
 *
 * Unit: 0,1 degree
 * Categories: GeoReference information
 * @revision: Description revised in V2.1.1 (usage of value 3600 specified) 
*/
tijinkj's avatar
tijinkj committed
HeadingValue ::= INTEGER { 
    wgs84North  (0),
    wgs84East   (900),
    wgs84South  (1800),
    wgs84West   (2700),
    doNotUse    (3600),
    unavailable (3601)
} (0..3601)
tijinkj's avatar
tijinkj committed

/**
 * 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). 
 *
 * The value shall be set to:
 * - `n` (`n >= 1` and `n < 99`) if the height information is equal to or less than n x 0,01 metre and more than (n-1) x 0,01 metre,
 * - `99` if the height is out of range, i.e. equal to or greater than 0,98 m,
 * - `100` if the height information is not available.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit 0,01 metre
tijinkj's avatar
tijinkj committed
 * @category Vehicle information
 * @revision: Description revised in V2.1.1 (the definition of 99 has changed slightly) 
 */
HeightLonCarr ::= INTEGER {
tijinkj's avatar
tijinkj committed
    outOfRange(99),
tijinkj's avatar
tijinkj committed
    unavailable(100)
} (1..100)

/**
 * This DE represents the value of the sub cause code of the @ref CauseCode `humanPresenceOnTheRoad`.
tijinkj's avatar
tijinkj committed
 * 
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `unavailable`                    - in case further detailed information abou the human presence on the road is unavailable,
 * - 1 - `childrenOnRoadway`              - in case children are present on the road,
 * - 2 - `cyclistOnRoadway`               - in case cyclist(s) are present on the road,
 * - 3 - `motorcyclistOnRoadway`          - in case motorcyclist(s) are present on the road,
 * - 4 - `pedestrian`                     - in case pedestrian(s) of any type are present on the road,
 * - 5 - `ordinary-pedestrian`            - in case pedestrian(s) to which no more-specific profile applies are present on the road,
 * - 6 - `road-worker`                    - in case pedestrian(s) with the role of a road worker applies are present on the road,
 * - 7 - `first-responder`                - in case pedestrian(s) with the role of a first responder applies are present on the road,  
 * - 8 - `lightVruVehicle                 - in case light vru vehicle(s) of any type are present on the road,
 * - 9 - `bicyclist `                     - in case cycle(s) and their bicyclist(s) are present on the road,
 * - 10 - `wheelchair-user`               - in case wheelchair(s) and their user(s) are present on the road,
 * - 11 - `horse-and-rider`               - in case horse(s) and rider(s) are present on the road,
 * - 12 - `rollerskater`                  - in case rolleskater(s) and skater(s) are present on the road,
 * - 13 - `e-scooter`                     - in case e-scooter(s) and rider(s) are present on the road,
 * - 14 - `personal-transporter`          - in case personal-transporter(s) and rider(s) are present on the road,
 * - 15 - `pedelec`                       - in case pedelec(s) and rider(s) are present on the road,
 * - 16 - `speed-pedelec`                 - in case speed-pedelec(s) and rider(s) are present on the road,
 * - 17 - `ptw`                           - in case powered-two-wheeler(s) of any type are present on the road,
 * - 18 - `moped`                         - in case moped(s) and rider(s) are present on the road,
 * - 19 - `motorcycle`                    - in case motorcycle(s) and rider(s) are present on the road,
 * - 20 - `motorcycle-and-sidecar-right`  - in case motorcycle(s) with sidecar(s) on the right and rider are present on the road,
 * - 21 - `motorcycle-and-sidecar-left`   - in case motorcycle(s) with sidecar(s) on the left and rider are present on the road.
 * - 22-255                               - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: editorial revision in V2.1.1, named values 4-21 added in V2.2.1
tijinkj's avatar
tijinkj committed
 */
HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable                  (0), 
    childrenOnRoadway            (1), 
    cyclistOnRoadway             (2), 
    motorcyclistOnRoadway        (3),
    pedestrian                   (4),
    ordinary-pedestrian          (5),
    road-worker                  (6),
    first-responder              (7),
    lightVruVehicle              (8), 
    bicyclist                    (9), 
    wheelchair-user              (10), 
    horse-and-rider              (11), 
    rollerskater                 (12), 
    e-scooter                    (13), 
    personal-transporter         (14),
    pedelec                      (15), 
    speed-pedelec                (16),
    ptw                          (17), 
    moped                        (18), 
    motorcycle                   (19), 
    motorcycle-and-sidecar-right (20), 
    motorcycle-and-sidecar-left  (21)
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode "humanProblem".
 * 
 * The value shall be set to:
 * - 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.
tijinkj's avatar
tijinkj committed
 * - 3-255                - reserved for future usage.
 *
 * @category: Traffic information
 * @revision: V1.3.1
 */
HumanProblemSubCauseCode ::= INTEGER {
    unavailable     (0), 
    glycemiaProblem (1), 
    heartProblem    (2)
} (0..255)

/** 
 * This DE is a general identifier.
 * 
 * @category: Basic information
 * @revision: Created in V2.1.1
*/
Identifier1B ::= INTEGER (0..255)

/** 
 * This DE is a general identifier.
 * 
 * @category: Basic information
 * @revision: Created in V2.1.1
*/
Identifier2B ::= INTEGER (0..65535)

tijinkj's avatar
tijinkj committed
/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `impassability`
 * 
 * The value shall be set to:
 * - 0 `unavailable`              - in case further detailed information about the unmanaged road blockage is unavailable,
 * - 1 `flooding          `       - in case the road is affected by flooding,
 * - 2 `dangerOfAvalanches`       - in case the road is at risk of being affected or blocked by avalanches,
 * - 3 `blastingOfAvalanches`     - in case there is an active blasting of avalanches on or near the road,
 * - 4 `landslips`                - in case the road is affected by landslips,
 * - 5 `chemicalSpillage`         - in case the road is affected by chemical spillage,
 * - 6 `winterClosure`            - in case the road is impassable due to a winter closure.
tijinkj's avatar
tijinkj committed
 * - 7 `sinkhole`                 - in case the road is impassable due to large holes in the road surface.
 * - 8 `earthquakeDamage`         - in case the road is obstructed or partially obstructed because of damage caused by an earthquake.
 * - 9 `fallenTrees`              - in case the road is obstructed or partially obstructed by one or more fallen trees. 
 * - 10 `rockfalls`               - in case the road is obstructed or partially obstructed due to fallen rocks.
 * - 11 `sewerOverflow`           - in case the road is obstructed or partially obstructed by overflows from one or more sewers. 
 * - 12 `stormDamage`             - in case the road is obstructed or partially obstructed by debris caused by strong winds.
 * - 13 `subsidence`              - in case the road surface has sunken or collapsed in places.
 * - 14 `burstPipe`               - in case the road surface has sunken or collapsed in places due to burst pipes.
 * - 15 `burstWaterMain`          - in case the road is obstructed due to local flooding and/or subsidence. 
 * - 16 `fallenPowerCables`       - in case the road is obstructed or partly obstructed by one or more fallen power cables.
 * - 17 `snowDrifts`              - in case the road is obstructed or partially obstructed by snow drifting in progress or patches of deep snow due to earlier drifting.
 * - 15-255                       - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
 * @revision: Created in V2.2.1
*/
ImpassabilitySubCauseCode ::= INTEGER {
    unavailable               (0), 
    flooding                  (1),
    dangerOfAvalanches        (2), 
    blastingOfAvalanches      (3), 
    landslips                 (4), 
    chemicalSpillage          (5),
tijinkj's avatar
tijinkj committed
    winterClosure             (6),
    sinkhole                  (7),
    earthquakeDamage          (8),
    fallenTrees               (9),
    rockfalls                 (10),
    sewerOverflow             (11),
    stormDamage               (12),
    subsidence                (13),
    burstPipe                 (14),
    burstWaterMain            (15),
    fallenPowerCables         (16),
    snowDrifts                (17)
tijinkj's avatar
tijinkj committed
} (0..255)

tijinkj's avatar
tijinkj committed
/**
 * This DE represents the quality level of provided information.
 * 
 * The value shall be set to:
 * - `0` if the information is unavailable,
 * - `1` if the quality level is lowest,
 * - `n` (`n > 1` and `n < 7`) if the quality level is n, 
 * - `7` if the quality level is highest.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @note: Definition of quality level is out of scope of the present document.
tijinkj's avatar
tijinkj committed
 * @category: Basic information
 * @revision: Editorial update in V2.1.1
 */
InformationQuality ::= INTEGER (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).
 * It is an extension of the type @ref ProtectedZoneType.
 *
 * The value shall be set to:
 * - 0 - `permanentCenDsrcTolling` - as specified in ETSI TS 102 792 [14],
 * - 1 - `temporaryCenDsrcTolling` - as specified in ETSI TS 102 792 [14],
 * - 2 - `unavailable`             - default value. Set to 2 for backwards compatibility with DSRC tolling,
 * - 3 - `urbanRail`               - as specified in ETSI TS 103 724 [13], clause 7,
 * - 4 - `satelliteStation`        - as specified in ETSI TS 103 724 [13], clause 7,
 * - 5 - `fixedLinks`              - as specified in ETSI TS 103 724 [13], clause 7.
tijinkj's avatar
tijinkj committed
 *
 * @category: Communication information
 * @revision: Created in V2.1.1
 */
InterferenceManagementZoneType ::= ENUMERATED {
    permanentCenDsrcTolling (0),
    temporaryCenDsrcTolling (1),
    unavailable             (2), 
    urbanRail               (3),      
    satelliteStation        (4),
    fixedLinks              (5), 
    ...
}

/**
tijinkj's avatar
tijinkj committed
 * This DE represents the vehicle type according to ISO 3833 [22].
tijinkj's avatar
tijinkj committed
 * A "term No" refers to the number of the corresponding term and its definition in ISO 3833.
 *
 * The value shall be set to:
 * - 0	- `passengerCar`              - term No 3.1.1
 * - 1	- `saloon`                    - term No 3.1.1.1 (sedan)
 * - 2	- `convertibleSaloon`         - term No 3.1.1.2
 * - 3	- `pullmanSaloon`             - term No 3.1.1.3
 * - 4	- `stationWagon`              - term No 3.1.1.4
 * - 5	- `truckStationWagon`         - term No 3.1.1.4.1
 * - 6	- `coupe`                     - term No 3.1.1.5 (coupe)
 * - 7	- `convertible`               - term No 3.1.1.6 (open tourer, roadstar, spider)
 * - 8	- `multipurposePassengerCar`  - term No 3.1.1.7
 * - 9	- `forwardControlPassengerCar`- term No 3.1.1.8
 * - 10	- `specialPassengerCar`       - term No 3.1.1.9
 * - 11	- `bus`                       - term No 3.1.2
 * - 12	- `minibus`                   - term No 3.1.2.1
 * - 13	- `urbanBus`                  - term No 3.1.2.2
 * - 14	- `interurbanCoach`           - term No 3.1.2.3
 * - 15	- `longDistanceCoach`         - term No 3.1.2.4
 * - 16	- `articulatedBus`            - term No 3.1.2.5
 * - 17	- `trolleyBus	`             - term No 3.1.2.6
 * - 18	- `specialBus`                - term No 3.1.2.7
 * - 19	- `commercialVehicle`         - term No 3.1.3
 * - 20	- `specialCommercialVehicle`  - term No 3.1.3.1
 * - 21	- `specialVehicle`            - term No 3.1.4
 * - 22	- `trailingTowingVehicle`     - term No 3.1.5 (draw-bar tractor)
 * - 23	- `semiTrailerTowingVehicle`  - term No 3.1.6 (fifth wheel tractor)
 * - 24	- `trailer`                   - term No 3.2.1
 * - 25	- `busTrailer`                - term No 3.2.1.1
 * - 26	- `generalPurposeTrailer`     - term No 3.2.1.2
 * - 27	- `caravan`                   - term No 3.2.1.3
 * - 28	- `specialTrailer`            - term No 3.2.1.4
 * - 29	- `semiTrailer`               - term No 3.2.2
 * - 30	- `busSemiTrailer`            - term No 3.2.2.1
 * - 31	- `generalPurposeSemiTrailer` - term No 3.2.2.2
 * - 32	- `specialSemiTrailer`        - term No 3.2.2.3
 * - 33	- `roadTrain`                 - term No 3.3.1
 * - 34	- `passengerRoadTrain`        - term No 3.3.2
 * - 35	- `articulatedRoadTrain`      - term No 3.3.3
 * - 36	- `doubleRoadTrain`           - term No 3.3.4
 * - 37	- `compositeRoadTrain`        - term No 3.3.5
 * - 38	- `specialRoadTrain`          - term No 3.3.6
 * - 39	- `moped`                     - term No 3.4
 * - 40	- `motorCycle`                - term No 3.5
tijinkj's avatar
tijinkj committed
 * - 41-255                           - reserved for future use
 * 
 * @category: Vehicle information
 * @revision: Created in V2.1.1
 */
Iso3833VehicleType ::= INTEGER {
tijinkj's avatar
tijinkj committed
    passengerCar                 (0),
    saloon                       (1),	
    convertibleSaloon            (2),	
    pullmanSaloon                (3),	
    stationWagon                 (4),	
    truckStationWagon            (5),	
    coupe                        (6),
    convertible                  (7),	
    multipurposePassengerCar     (8),	
    forwardControlPassengerCar   (9),	
    specialPassengerCar	         (10),
    bus	                         (11),
    minibus                      (12),	
    urbanBus                     (13),	
    interurbanCoach              (14),	
    longDistanceCoach            (15),	
    articulatedBus               (16),	
    trolleyBus                   (17),
    specialBus                   (18),	
    commercialVehicle            (19),	
    specialCommercialVehicle     (20),
    specialVehicle               (21),	
    trailingTowingVehicle        (22),	
    semiTrailerTowingVehicle     (23),	
    trailer                      (24),	
    busTrailer                   (25),
    generalPurposeTrailer        (26),
    caravan                      (27),	
    specialTrailer               (28),	
    semiTrailer	                 (29),	
    busSemiTrailer               (30),	
    generalPurposeSemiTrailer    (31),
    specialSemiTrailer           (32),	
    roadTrain                    (33),	
    passengerRoadTrain           (34),	
    articulatedRoadTrain         (35),	
    doubleRoadTrain	             (36),
    compositeRoadTrain           (37),	
    specialRoadTrain             (38),	
    moped                        (39),	
    motorCycle                   (40)	
tijinkj's avatar
tijinkj committed
	} (0..255)

tijinkj's avatar
tijinkj committed
/** 
 * This DE represent the identifier of an organization according to the applicable registry.
 *
 * @category: Basic information
 * @revision: Created in V2.2.1 based on ISO 14816 [23]
*/
IssuerIdentifier ::= INTEGER(0 .. 16383)

/** 
 * This DE represents the identifier of the IVIM.
 *
 * @category: Basic information
 * @revision: Created in V2.2.1 based on ETSI TS 103 301 [15]
*/
IviIdentificationNumber::= INTEGER(1..32767,..., 8388607) 

tijinkj's avatar
tijinkj committed
/**
 * This DE indicates a transversal position on the carriageway at a specific longitudinal position, in resolution of lanes of the carriageway. 
 *
 * For right-hand traffic roads, the value shall be set to:
 * - `-1` if the position is off, i.e. besides the road,
 * - `0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the leftmost lane,
 * - `n` (`n > 0` and `n < 14`), if the position is on the n-th driving lane counted from the leftmost lane to the rightmost lane of a specific traffic direction,
 * - `14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to rightmost lane (if present).
tijinkj's avatar
tijinkj committed
 *
 * For left-hand traffic roads, the value shall be set to:
 * - `-1` if the position is off, i.e. besides the road,
 * - `0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the rightmost lane,
 * - `n` (`n > 0` and `n < 14`), if the position is on the n-th driving lane counted from the rightmost lane to the leftmost lane of a specific traffic direction,
 * - `14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to leftmost lane (if present).
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 *  @note: in practice this means that the position is counted from "inside" to "outside" no matter which traffic practice is used.
 *
 * If the carriageway allows only traffic in one direction (e.g. in case of dual or multiple carriageway roads), the position is counted from the physical border of the carriageway. 
 * If the carriageway allows traffic in both directions and there is no physical delimitation between traffic directions (e.g. on a single carrriageway road), 
 * the position is counted from the legal (i.e. optical) separation between traffic directions (horizontal marking). 
tijinkj's avatar
tijinkj committed
 *
 * If not indicated otherwise (by lane markings or traffic signs), the legal separation on carriageways allowing traffic on both directions is identified as follows:
 * - If the total number of lanes N is even, the lanes are divided evenly between the traffic directions starting from the outside of the carriageway on both sides and the 
 *   imaginary separation between traffic directions is on the border between the even number of lanes N/2.
 * - If the total number of lanes N is odd, the lanes are divided evenly between traffic direction starting from the outside of the carriageway on both sides. 
 *   The remaining middle lane is assigned to both traffic directions as innermost lane.
 *
tijinkj's avatar
tijinkj committed
 * @category: Road topology information
tijinkj's avatar
tijinkj committed
 * @revision: Description of the legal separation of carriageways added in V2.2.1
tijinkj's avatar
tijinkj committed
*/
LanePosition ::= INTEGER {
    offTheRoad           (-1), 
    innerHardShoulder    (0), 
    outerHardShoulder    (14) 
} (-1..14)

/**
 * This DE represents the type of a lane. 
 * 
 * The value shall be set to:
 * - 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 transport,
 * - 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	- `cycleLane`	       - Lane dedicated to exclusive or preferred use by bicycles,
 * - 14	- `median`             - Lane not dedicated to movement of vehicles but representing a median / central reservation  such as the central median, 
tijinkj's avatar
tijinkj committed
                                 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, trams 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 
tijinkj's avatar
tijinkj committed
                                 the road surface edge and the boundary of a road,
tijinkj's avatar
tijinkj committed
 * - 20	`minimumRiskManoeuvre` - Lane dedicated to automated vehicles making a minimum risk manoeuvre,
 * - 21	`separatedCycleLane`   - Lane dedicated to exclusive or preferred use by bicycles that is phyisically separated from the vehicle-traffic lanes, e.g. by a verge.
 * - values 22 to 30             reserved for future use. 
tijinkj's avatar
tijinkj committed
 *
 * @category: Road topology information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1, named value 21 added in V2.2.1
tijinkj's avatar
tijinkj committed
*/
LaneType::= INTEGER{
	traffic              (0),
	through	             (1),
	reversible           (2),
	acceleration         (3),
	deceleration         (4),
	leftHandTurning      (5),
	rightHandTurning     (6),
	dedicatedVehicle     (7),
	bus                  (8),
	taxi                 (9),
	hov                  (10),
tijinkj's avatar
tijinkj committed
	hot                  (11),
tijinkj's avatar
tijinkj committed
	pedestrian           (12),
	cycleLane            (13),
	median               (14),   
	striping             (15),
	trackedVehicle       (16),
	parking	             (17),
	emergency            (18),
	verge                (19),
	minimumRiskManoeuvre (20),
tijinkj's avatar
tijinkj committed
    exclusiveCycleLane   (21),
tijinkj's avatar
tijinkj committed
	unknown              (31)
}(0..31)

/**
 * This DE represents the width of a lane measured at a defined position.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `n` (`n > 0` and `n < 1022`) if the lane width information is equal to or less than n x 0,01 metre and more than (n-1) x 0,01 metre,
 * - `1022` if the lane width is out of range, i.e. greater than 10,21 m,
 * - `1023` if the lane width information is not available.
tijinkj's avatar
tijinkj committed
 *
 * The value 0 shall not be used.
 *
 * @unit: 0,01 metre
tijinkj's avatar
tijinkj committed
 * @category: Road topology information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
 */
LaneWidth::= INTEGER (0..1023)