ITS-Container.asn 249 KB
Newer Older
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
*/
ObjectClassWithConfidence ::= SEQUENCE {
    objectClass    ObjectClass,
    confidence     ConfidenceLevel
}
/** 
 * This DF represents a dimension of an object together with a confidence indication.
 *
 * It includes the following components: 
 * 
 * @field ObjectDimensionValue: the object dimension value which can be estimated as the mean of the current distribution.
 *
 * @field ObjectDimensionValue: the associated confidence information.
 *
 * @category: Sensing information
 * @revision: Created in V2.1.1
*/
ObjectDimension ::= SEQUENCE {
    value         ObjectDimensionValue,
tijinkj's avatar
tijinkj committed
    confidence    ObjectDimensionConfidence
tijinkj's avatar
tijinkj committed
/**
 * This DF that represents a path with a set of path points.
 * It may contain up to `40` @ref PathPoint. 
 * 
 * The first PathPoint presents an offset delta position with regards to an external reference position.
 * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. 
 *
 * @category: GeoReference information, Vehicle information
 * @revision: created in V2.1.1 based on PathHistory
 */
Path::= SEQUENCE (SIZE(0..40)) OF PathPoint

/**
tijinkj's avatar
tijinkj committed
 * This DF that represents a path history with a set of path points.
tijinkj's avatar
tijinkj committed
 * It may contain up to `40` @ref PathPoint. 
 * 
 * The first PathPoint presents an offset delta position with regards to an external reference position.
 * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. 
 *
 * @category: GeoReference information, Vehicle information
 * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref Path instead
 * @revision: semantics updated in V2.1.1
 */
PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint
tijinkj's avatar
tijinkj committed
/**
 * This DF that represents a predicted path with a set of path points.
 * It may contain up to `15` @ref PathPoint. 
 * 
 * The first PathPoint presents an offset delta position with regards to an external reference position.
 * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. 
 *
 * @category: GeoReference information
 * @revision: created in V2.1.1 based on PathHistory
 */
PathPredicted::= SEQUENCE (SIZE(0..15,...)) OF PathPointPredicted

tijinkj's avatar
tijinkj committed
/**
 * This DF  defines an offset waypoint position within a path.
 *
 * It includes the following components: 
 *
 * @field pathPosition: The waypoint position defined as an offset position with regards to a pre-defined reference position. 
 *
 * @field pathDeltaTime: The optional travel time separated from a waypoint to the predefined reference position.
 *
 * @category GeoReference information
 * @revision: semantics updated in V2.1.1
 */
PathPoint ::= SEQUENCE {
    pathPosition     DeltaReferencePosition,
    pathDeltaTime    PathDeltaTime OPTIONAL
}
tijinkj's avatar
tijinkj committed
/**
tijinkj's avatar
tijinkj committed
 * This DF  defines a predicted offset waypoint position within a path.
tijinkj's avatar
tijinkj committed
 *
 * It includes the following components: 
 *
tijinkj's avatar
tijinkj committed
 * @field deltaLatitude: an offset latitude with regards to a pre-defined reference position. 
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @field deltaLongitude: an offset longitude with regards to a pre-defined reference position. 
 * 
 * @field horizontalPositionConfidence: the accuracy of the horizontal geographical position.
 *
 * @field deltaAltitude: an offset altitude with regards to a pre-defined reference position. 
 *
 * @field altitudeConfidence: the accuracy of the altitude value of the geographical position.
 * 
 * @field pathDeltaTime: The  travel time separated from the waypoint to the predefined reference position.
tijinkj's avatar
tijinkj committed
 *
 * @category GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: semantics updated in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed

PathPointPredicted::= SEQUENCE {
  deltaLatitude                 DeltaLatitude,      
  deltaLongitude                DeltaLongitude, 
  horizontalPositionConfidence  PosConfidenceEllipse OPTIONAL,   
  deltaAltitude                 DeltaAltitude DEFAULT unavailable, 
  altitudeConfidence            AltitudeConfidence DEFAULT unavailable,
  pathDeltaTime                 DeltaTimeTenthOfSecond,
  ... 
tijinkj's avatar
tijinkj committed
}

/** 
 * This DF contains information about a perceived object including its kinematic and attitude vector in a pre-defined coordinate system.
 * 
 * It includes the following components: 
 *
 * @field objectID: optional identifier assigned to a detected object.
 *
 * @field timeOfMeasurement: the time difference from a reference time to the time of the  measurement of the object using the DE DeltaTime. 
 * Negative values indicate that the provided object state refers to a point in time after the reference time.
 *
 * @field xCoordinate: X Coordinate, i.e. distance to detected object from the origin of the coordinate system to the object reference point in x-direction at the time
 * of measurement, with the associated variance.
 * 
 * @field yCoordinate: Y Coordinate, i.e. distance to detected object from the origin of the coordinate system to the object reference point in y-direction at the time
 * of measurement, with the associated variance.
 * 
 * @field zCoordinate: optional Z Coordinate, i.e. distance to detected object from the origin of the coordinate system to the object reference point in z-direction 
 * at the time of measurement, with the associated variance.
 * 
 * @field velocityMagnitude: magnitude of the velocity vector of the detected object in the X-Y plane at the time of measurement, with the associated variance. 
 * Negative magnitude values indicate movement backwards
 *
 * @field velocityDirection: polar angle of the velocity vector of the detected object in the X-Y plane at the time of measurement, with the associated variance.
 *
 * @field xVelocity: velocity component of the detected object in x-direction at the time of measurement, with the associated variance.
 *
 * @field yVelocity: velocity component of the detected object in y-direction at the time of measurement, with the associated variance.
 *  
 * @field zVelocity: optional velocity component of the detected object in z-direction at the time of measurement, with the associated variance.
 *
 * @field accelerationMagnitude: magnitude of the acceleration vector of the detected object in the X-Y plane at the time of measurement, with the associated variance. 
 * Negative magnitude values indicate accelerating backwards.
 *
 * @field accelerationDirection: polar angle of the acceleration vector of the detected object in the X-Y plane at the time of measurement, with the associated variance.
 *
 * @field xAcceleration: optional Acceleration of the detected object in x-direction at the time of measurement, with the associated variance.
 * 
 * @field yAcceleration: optional Acceleration of the detected object in y-direction at the time of measurement, with the associated variance.
 *
 * @field zAcceleration: optional Acceleration of the detected object in z-direction at the time of measurement, with the associated variance.
 *
 * @field rollAngle: optional Roll angle of object at the time of measurement with the associated variance.
 * The angle is measured with positive values considering the object orientation turning counter-clockwise around the x-axis.
 *  
 * @field pitchAngle: optional Pitch angle of object at the time of measurement with the associated variance.    
 * The angle is measured with positive values considering the object orientation turning counter-clockwise around the y-axis.
 *  
 * @field yawAngle: optional Yaw angle of object at the time of measurement, with the associated variance.
 * The angle is measured with positive values considering the object orientation turning counter-clockwise around the z-axis.
 *  
 * @field rollSpeed: optional Roll speed of the object at the time of measurement, with the associated variance.
 * The angular rate is measured with positive values considering the object orientation turning counter-clockwise around the x-axis.
 * 
 * @field pitchSpeed: optional Pitch speed of the object at the time of measurement, with the associated variance.
 * The angular rate is measured with positive values considering the object orientation turning counter-clockwise around the y-axis.
 *
 * @field yawSpeed: optional Yaw speed of the object at the time of measurement, with the associated variance.
 * The angular rate is measured with positive values considering the object orientation turning counter-clockwise around the z-axis.
 *
 * @field rollAcceleration: optional Roll acceleration of the object at the time of measurement, with the associated variance.
 * The angular acceleration is measured with positive values considering the object orientation turning counter-clockwise around the x-axis.
 *
 * @field pitchAcceleration: optional Pitch acceleration of the object at the time of measurement, with the associated variance. 
 * The angular acceleration is measured with positive values considering the object orientation turning counter-clockwise around the y-axis.
 *
 * @field yawAcceleration: optional Yaw acceleration of the object at the time of measurement, with the associated variance.
 * The angular acceleration is measured with positive values considering the object orientation turning counter-clockwise around the z-axis.
 *
 * @field lowerTriangularCorrelationMatrixColumns: optional set of columns of a lower triangular correlation matrix for the provided kinematic state and attitude vector.
 * The kinematic and attitude vector is composed of the xCoordinate, yCoordinate and zero or more of the other components listed immediately before this component from zCoordinate to yawAcceleration.
 * The columns and rows of the correlation matrix indicate the value components of the vector (i.e. without variance) to which the covariance entries apply and are ordered as follows:
 *       - xCoordinate 
 *       - yCoordinate 
 *       - zCoordinate
 *       - velocityMagnitude
 *       - velocityDirection
 *       - xVelocity
 *       - yVelocity
 *       - zVelocityComponent
 *       - accelerationMagnitude
 *       - accelerationDirection
 *       - xAcceleration
 *       - yAcceleration
 *       - zAcceleration
 *       - rollAngle
 *       - pitchAngle
 *       - yawAngle
 *       - rollSpeed
 *       - pitchSpeed
 *       - yawSpeed
 *       - rollAcceleration
 *       - pitchAcceleration
 *       - yawAcceleration
 *   The number of lowerTriangularCorrelationMatrixColumns to be included "k" is thereby the number of provided
 *   components "n" of the kinematic state and attitude vector minus 1: k = n-1.
 *   Each column "i" of the lowerTriangularCorrelationMatrixColumns contains k-(i-1) values.
 *   In case certain values of the kinematic state and attitude vector are not provided, they are omitted from
 *   the lowerTriangularCorrelationMatrixColumns.
 *
 * @field planarObjectDimension1: optional first dimension of object as provided by the sensor or environment model. 
 * This dimension is always contained in the plane which is oriented perpendicular to the direction of the angle
 * indicated by the yawAngle and which contains the object's reference point.
 *   
 * @field planarObjectDimension2: optional second dimension of the object as provided by the sensor environment model. 
 * This dimension is contained in the plane oriented in the direction of the angle indicated by the yawAngle and the object's reference point.
 *  
 * @field verticalObjectDimension: optional vertical dimension of object as provided by the sensor or object model.
 * 
 * @field objectRefPoint: the reference point on the perceived object. The kinematic attitude and state data provided
 * for this object are valid for this reference point of the object. In case no object reference
 * point can be determined, it is assumed to be the center point of the detected object.
 *  
 * @field objectAge: optional age of the detected and described object, i.e. the difference in time between the moment 
 * it has been first detected and the reference time of the message. Value `1500` indicates that the object has been observed for more than 1.5s.
 *
 * @field objectConfidence: optional confidence associated to the object. The computation of the object confidence is based on a sensor's or
 * fusion system's specific detection confidence, the binary detection success that is, if an object
 * has been successfully detected by the last measurement and the object age.
 *
 * @field sensorIdList: optional list of sensor-IDs which provided the measurement data. 
 *
 * @field dynamicStatus: optional dynamic capabilities of a detected object.
 *  
 * @field classification: optional classification of the described object
 *
 * @field matchedPosition: optional map-matched position of an object.
 *
 * @category Sensing information
 * @revision: created in V2.1.1
 */

PerceivedObject ::= SEQUENCE {
    objectID                                          Identifier2B OPTIONAL,
    timeOfMeasurement                                 DeltaTimeMilliSecondPosNeg,
    xCoordinate                                       CartesianCoordinateWithConfidence, 
    yCoordinate                                       CartesianCoordinateWithConfidence,
    zCoordinate                                       CartesianCoordinateWithConfidence OPTIONAL,
    velocityMagnitude                                 SpeedExtended OPTIONAL, 
	velocityDirection                                 CartesianAngle OPTIONAL, 
    xVelocity                                         SpeedExtended OPTIONAL,
    yVelocity                                         SpeedExtended OPTIONAL,
    zVelocity                                         SpeedExtended OPTIONAL,
    accelerationMagnitude                             Acceleration1d OPTIONAL,
    accelerationDirection                             CartesianAngle OPTIONAL,
    xAcceleration                                     Acceleration1d OPTIONAL,
    yAcceleration                                     Acceleration1d OPTIONAL,
    zAcceleration                                     Acceleration1d OPTIONAL,
    rollAngle                                         CartesianAngle OPTIONAL,
    pitchAngle                                        CartesianAngle OPTIONAL,
    yawAngle                                          CartesianAngle OPTIONAL,
    rollSpeed                                         CartesianAngularSpeed OPTIONAL,
    pitchSpeed                                        CartesianAngularSpeed OPTIONAL,
    yawSpeed                                          CartesianAngularSpeed OPTIONAL,
    rollAcceleration                                  CartesianAngularAcceleration OPTIONAL,
    pitchAcceleration                                 CartesianAngularAcceleration OPTIONAL,
    yawAcceleration                                   CartesianAngularAcceleration OPTIONAL,
    lowerTriangularCorrelationMatrixColumns           LowerTriangularPositiveSemidefiniteMatrix OPTIONAL,
    planarObjectDimension1                            ObjectDimension OPTIONAL,
    planarObjectDimension2                            ObjectDimension OPTIONAL,
    verticalObjectDimension                           ObjectDimension OPTIONAL,
    objectRefPoint                                    ObjectRefPoint DEFAULT 0,
    objectAge                                         DeltaTimeMilliSecondPosNeg (0..1500) OPTIONAL,
    objectConfidence                                  ObjectConfidence OPTIONAL,
    sensorIdList                                      SequenceOfIdentifier1B OPTIONAL,
    dynamicStatus                                     ObjectDynamicStatus OPTIONAL,
    classification                                    ObjectClassDescription OPTIONAL,
    mapPosition                                       MapPosition OPTIONAL,
    ...
}

/** 
 * This DF represents the shape of a polygonal area or of a right prism.
 *
 * It includes the following components: 
 *
 * @field polygon: the polygonal area and consist of a list of minimum `3` to maximum `16` @ref CartesianPosition3d.
 *
 * @field height: the optional height, present if the shape is a right prism extending in the positive z-axis.
 * 
 * @category GeoReference information
 * @revision: created in V2.1.1
 *
 */
PolygonalShape ::= SEQUENCE {
   polygon    SequenceOfCartesianPosition3d (SIZE(3..16,...)),
   height	  StandardLength12b OPTIONAL,
   ...
}
tijinkj's avatar
tijinkj committed
/**
 * This DF provides the horizontal position accuracy in a shape of ellipse with a 
 * confidence level of 95 %. The centre of the ellipse shape corresponds to the reference
 * position point for which the position accuracy is evaluated.
 *
 * It includes the following components: 
 *
 * @field semiMajorConfidence: half of length of the major axis, i.e. distance between the centre point
 * and major axis point of the position accuracy ellipse. 
 *
 * @field semiMinorConfidence: half of length of the minor axis, i.e. distance between the centre point
 * and minor axis point of the position accuracy ellipse. 
 *
 * @field semiMajorOrientation: orientation direction of the ellipse major axis of the position accuracy
 * ellipse with regards to the WGS84 north. 
 *
 *
 * @category GeoReference information
 * @revision: V1.3.1
 */
PosConfidenceEllipse ::= SEQUENCE {
    semiMajorConfidence     SemiAxisLength,
    semiMinorConfidence     SemiAxisLength,
    semiMajorOrientation    Wgs84AngleValue
}

/**
 * This DF contains a list of distances @ref PosPillar that refer to the perpendicular distance between centre of vehicle front bumper
 * and vehicle pillar A, between neighbour pillars until the last pillar of the vehicle.
 *
 * Vehicle pillars refer to the vertical or near vertical support of vehicle,
 * designated respectively as the A, B, C or D and other pillars moving in side profile view from the front to rear.
 * 
 * The first value of the DF refers to the perpendicular distance from the centre of vehicle front bumper to 
 * vehicle A pillar. The second value refers to the perpendicular distance from the centre position of A pillar
 * to the B pillar of vehicle and so on until the last pillar.
 *
 * @category: Vehicle information
 * @revision: V1.3.1
 */
Denis Filatov's avatar
Denis Filatov committed
PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar

tijinkj's avatar
tijinkj committed
/**
 * This DF describes a zone of protection inside which the ITSG5 communication should be restricted.
 *
 * It includes the following components: 
 * 
 * @field protectedZoneType: type of the protected zone. 
 * 
 * @field expiryTime: optional time at which the validity of the protected communication zone will expire.
 * 
 * @field protectedZoneLatitude: latitude of the centre point of the protected communication zone.
 * 
 * @field protectedZoneLongitude: longitude of the centre point of the protected communication zone.
 * 
 * @field protectedZoneRadius: optional radius of the protected communication zone in metres.
 * 
 * @field protectedZoneID: the optional ID of the protected communication zone.
 * 
 * @note: A protected communication zone may be defined around a CEN DSRC road side equipment.
 * 
 * @category: Infrastructure information, Communication information
 * @revision: V1.3.1
 */
ProtectedCommunicationZone ::= SEQUENCE {
    protectedZoneType         ProtectedZoneType,
    expiryTime                TimestampIts OPTIONAL,
    protectedZoneLatitude     Latitude,
    protectedZoneLongitude    Longitude,
    protectedZoneRadius       ProtectedZoneRadius OPTIONAL,
    protectedZoneID           ProtectedZoneID OPTIONAL,
    ...
}

/**
 * This DF consist of a list of @ref ProtectedCommunicationZone provided by a road side ITS-S (Road Side Unit RSU).
 *
 * It may provide up to 16 protected communication zones information.
 *
 * @category: Infrastructure information, Communication information
 * @revision: V1.3.1
 */
ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone 

/**
 * This DF represents activation data for real-time systems designed for operations control, traffic light priorities, track switches, barriers, etc.
 * using a range of activation devices equipped in public transport vehicles.
 *
 * The activation of the corresponding equipment is triggered by the approach or passage of a public transport
 * vehicle at a certain point (e.g. a beacon).
 *
 * @field ptActivationType: type of activation. 
 *
 * @field ptActicationData: data of activation. 
 *
 * Today there are different payload variants defined for public transport activation-data. The R09.x is one of
 * the industry standard used by public transport vehicles (e.g. buses, trams) in Europe (e.g. Germany Austria)
 * for controlling traffic lights, barriers, bollards, etc. This DF includes information like route, course,
 * destination, priority, etc.
 * 
 * The R09.x content is defined in VDV recommendation 420 [i.8]. It includes following information:
 * - Priority Request Information (pre-request, request, ready to start)
 * - End of Prioritization procedure
 * - Priority request direction
 * - Public Transport line number
 * - Priority of public transport
 * - Route line identifier of the public transport
 * - Route number identification
 * - Destination of public transport vehicle
 *
 * Other countries may use different message sets defined by the local administration.
 * @category: Vehicle information
 * @revision: V1.3.1
 */
PtActivation ::= SEQUENCE {
    ptActivationType    PtActivationType,
    ptActivationData    PtActivationData
}

/**
 * This DF describes a radial shape. The triangular or cone-shaped volume is
 * constructed by sweeping the provided range about the reference point  or about the offset
 * point (if provided) between a horizontal start and a horizontal end angle in positive angular direction of the WGS84
 * coordinate system. A vertical opening angle may be provided in a Cartesian coordinate system with
 * the x-axis located in the North-East plane of the WGS84 coordinate system. The sensor height may
 * be provided to reflect characteristics of sensors mounted at an altitude (e.g. sensors mounted
 * above intersections).
 *
 * It includes the following components:
 * 
 * @field sensorPositionOffset: the optional offset opoint.
 *
 * @field range: the radial range of the sensor from the reference point or sensor point offset. 
 *
 * @field stationaryHorizontalOpeningAngleStart:  the orientation indicating the beginning of the 
 * stationary sensor's horizontal opening angle in positive angular direction with respect to the 
 * WGS84 coordinate system.
 *
 * @field stationaryHorizontalOpeningAngleEnd: The orientation indicating the end of the stationary 
 * sensor's horizontal opening angle in positive angular direction with respect to the WGS84 coordinate 
 * system.
 *
 * @field verticalOpeningAngleStart: optional orientation indicating the beginning of the stationary sensor's 
 * vertical opening angle in positive angular direction of a Cartesian coordinate system with its x-axis 
   located in the north-east plane of the WGS84 coordinate system.
 *
 * @field verticalOpeningAngleEnd: optional orientation indicating the end of the stationary sensor's 
 * vertical opening angle in positive angular direction of a Cartesian coordinate system with its x-axis 
 * located in the north-east plane of the WGS84 coordinate system using the DE CartesianAngleValue. 
 *
 * @category Sensing information
 * @revision: created in V2.1.1
*/
RadialShape ::= SEQUENCE { 
    offsetPoint                              CartesianPosition3d OPTIONAL,
    range                                    StandardLength12b,
    stationaryHorizontalOpeningAngleStart    Wgs84AngleValue, 
    stationaryHorizontalOpeningAngleEnd      Wgs84AngleValue, 
    verticalOpeningAngleStart                CartesianAngleValue OPTIONAL,
    verticalOpeningAngleEnd                  CartesianAngleValue OPTIONAL,
    ...
}


/**
 * This DF describes a list of radial shapes. 
 *
 * It includes the following components:

 * @field refPointId: the identification of the reference point in case of a sensor mounted to trailer. Defaults to ITS ReferencePoint (0).
 * 
 * @field xCoordinate: the x-coordinate of the offset point.
 *
 * @field yCoordinate: the y-coordinate of the offset point.
 *
 * @field zCoordinate: the optional z-coordinate of the offset point.
 *
 * @field radialShapesList: the list of radial shape details.
 *
 * @category: Georeference information
 * @revision: created in V2.1.1
 */ 
RadialShapes ::= SEQUENCE {
    refPointId          Identifier1B,
    xCoordinate         CartesianCoordinateSmall, -- tbd: is this along the positive or the negative x axis?
    yCoordinate         CartesianCoordinateSmall,
    zCoordinate         CartesianCoordinateSmall OPTIONAL,
    radialShapesList    RadialShapesList,
    ...
}

/** 
 * The DF contains a list of @ref RadialShapeDetails.
 *
 * @category: Georeference information
 * @revision: created in V2.1.1
 */

RadialShapesList ::= SEQUENCE SIZE(1..16,...) OF RadialShapeDetails

/**
 * This DF describes a radial shape details. The triangular or cone-shaped volume is
 * constructed by sweeping the provided range about the reference point  or about the offset
 * point (if provided) between a horizontal start and a horizontal end angle in positive angular direction of the WGS84
 * coordinate system. A vertical opening angle may be provided in a Cartesian coordinate system with
 * the x-axis located in the North-East plane of the WGS84 coordinate system. The sensor height may
 * be provided to reflect characteristics of sensors mounted at an altitude (e.g. sensors mounted
 * above intersections).
 *
 * It includes the following components:
 * 
 * @field range: the radial range of the sensor from the reference point or sensor point offset. 
 *
 * @field stationaryHorizontalOpeningAngleStart:  the orientation indicating the beginning of the 
 * stationary sensor's horizontal opening angle in positive angular direction.
 *
 * @field stationaryHorizontalOpeningAngleEnd: The orientation indicating the end of the stationary 
 * sensor's horizontal opening angle in positive angular direction.
 *
 * @field verticalOpeningAngleStart: optional orientation indicating the beginning of the stationary sensor's 
 * vertical opening angle in positive angular direction of a Cartesian coordinate system with its x-axis 
   located in the north-east plane of the WGS84 coordinate system.
 *
 * @field verticalOpeningAngleEnd: optional orientation indicating the end of the stationary sensor's 
 * vertical opening angle in positive angular direction of a Cartesian coordinate system with its x-axis 
 * located in the north-east plane of the WGS84 coordinate system. 
 *
 * @category: Georeference information
 * @revision: created in V2.1.1
 */
RadialShapeDetails ::= SEQUENCE {
    range                          StandardLength12b,
    horizontalOpeningAngleStart    CartesianAngleValue,
    horizontalOpeningAngleEnd      CartesianAngleValue,
    verticalOpeningAngleStart      CartesianAngleValue OPTIONAL,
    verticalOpeningAngleEnd        CartesianAngleValue OPTIONAL,
    ...
}

/** 
 * This DF represents the shape of a rectangular area or a right rectangular prism that is centred on a reference position defined outside of the context of this DF. 
 *
 * It includes the following components: 
 * 
 * @field centerPoint: represents an optional offset point which the rectangle is centred on with respect to the reference position.
 *
 * @field semiLength: represents half the length of the rectangle.
 * 
 * @field semiBreadth: represents half the breadth of the rectangle.
 *
 * @field orientation: represents the optional orientation of the lenght of the rectangle in the WGS84 coordinate system.
 *
 * @field height: represents the optional height, present if the shape is a right rectangular prism with height extending in the positive z-axis.
 *
 * @category GeoReference information
 * @revision: created in V2.1.1
 */
RectangularShape ::= SEQUENCE { 
    centerPoint    CartesianPosition3d OPTIONAL,
    semiLength     StandardLength12b,
    semiBreadth    StandardLength12b,
    orientation    Wgs84AngleValue OPTIONAL,
    height         StandardLength12b OPTIONAL 
}

/**
 * A position within a geographic coordinate system together with a confidence indication. 
 *
 * It includes the following components: 
 *
 * @field latitude: the latitude of the geographical point.
 *
 * @field longitude: the longitude of the geographical point.
 *
 * @field positionConfidenceEllipse: the accuracy of the geographical position.
 *
 * @field altitude: the altitude and an altitude accuracy of the geographical point.
 *
 * @category: GeoReference information
 * @revision: description updated in V2.1.1
 */
ReferencePosition ::= SEQUENCE {
    latitude                     Latitude,
    longitude                    Longitude,
    positionConfidenceEllipse    PosConfidenceEllipse,
    altitude                     Altitude
}

/**
 * This DF consist of a list of @ref StationType. to which a certain traffic restriction, e.g. the speed limit, applies.
 * 
 * @category: Infrastructure information, Traffic information
 * @revision: V1.3.1
 */
Denis Filatov's avatar
Denis Filatov committed
RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType

tijinkj's avatar
tijinkj committed
/**
 * This DF represents a unique id for a road segment
 *
 * It includes the following components: 
 *
 * @field region: the optional identifier of the entity that is responsible for the region in which the road segment is placed.
 * It is the duty of that entity to guarantee that the @ref Id is unique within the region.
 *
 * @field id: the identifier of the road segment
 *
 * @note: when the RoadRegulatorID is present, the RoadSegmentReferenceID is guaranteed to be globally unique.
 * @category: GeoReference information
 * @revision: created in V2.1.1
 */
RoadSegmentReferenceId ::= SEQUENCE {
    region    Identifier2B OPTIONAL,
    id        Identifier2B
}
tijinkj's avatar
tijinkj committed
/**
 * This DF provides the safe distance indication of a traffic participant with other traffic participant(s).
 *
 * It includes the following components: 
 * 
 * @field subjectStation: optionally indicates one "other" traffic participant identified by its ITS-S.
 *  
 * @field safeDistanceIndicator: indicates whether the distance between the ego ITS-S and the traffic participant(s) is safe.
 * If subjectStation is present than it indicates whether the distance between the ego ITS-S and the traffic participant inidcated in the component subjectStation is safe. 
 *
 * @field timeToCollision: optionally indicated the time-to-collision calculated as sqrt(LaDi<sup>2</sup> + LoDi<sup>2</sup> + VDi<sup>2</sup>)/relative speed 
 * and represented in  the  nearest 100  ms. This component may be present only if subjectStation is present. 
 *
 * @category: Traffic information, Kinematics information
 * @revision: created in V2.1.1
 */
SafeDistanceIndication ::= SEQUENCE {
    subjectStation           StationID OPTIONAL,
    safeDistanceIndicator    SafeDistanceIndicator,
tijinkj's avatar
tijinkj committed
    timeToCollision          DeltaTimeTenthOfSecond OPTIONAL,
tijinkj's avatar
tijinkj committed
    ...
tijinkj's avatar
tijinkj committed
/** 
 * This DF represents a list of  maximum `16` @ref CartesianPosition3d.
 * 
 * @category: GeoReference information
 * @revision: created in V2.1.1
 */
SequenceOfCartesianPosition3d ::= SEQUENCE (SIZE(1..16, ...)) OF CartesianPosition3d

/** 
 * The DF contains a list of identifiers.
 *
 * @category: Basic information
 * @revision: created in V2.1.1
*/
SequenceOfIdentifier1B ::= SEQUENCE SIZE(1..128, ...) OF Identifier1B

/**
 * The DF contains a list of DF  SafeDistanceIndication.
 *
 * @category: Traffic information, Kinematics information
 * @revision: created in V2.1.1
*/
SequenceOfSafeDistanceIndication ::= SEQUENCE(SIZE(1..9,...)) OF SafeDistanceIndication

/**
 * The DF contains a list of DF  TrajectoryInterceptionIndication.
 *
 * @category: Traffic information, Kinematics information
 * @revision: created in V2.1.1
*/
SequenceOfTrajectoryInterceptionIndication ::=  SEQUENCE (SIZE(1..9,...)) OF TrajectoryInterceptionIndication

/**
 * This DF provides the definition of a geographical area or volume, based on different options.
 *
 * It includes the following components: 
 *
 * @field rectangle: definition of an rectangular area or a right rectangular prism (with a rectangular base) also called a cuboid, or informally a rectangular box.
 *
 * @field circle: definition of an area of circular shape or a right circular cylinder.
 *
 * @field polygon: definition of an area of polygonal shape or a right prism.
 *
 * @field ellipse: definition of an area of elliptical shape or a right elliptical cylinder.
 *
 * @field radial: definition of a radial shape.
 *
 * @field radialShapes: definition of list of radial shapes.
 *
 * @category: GeoReference information
 * @revision: Created in V2.1.1
 */

Shape::= CHOICE {
   rectangle       RectangularShape,
   circle          CircularShape, 
   polygon         PolygonalShape,
   ellipse         EllipticalShape,
   radial          RadialShape,
   radialShapes    RadialShapes,
   ...
}
tijinkj's avatar
tijinkj committed
/**
 * This DF describes the speed and corresponding accuracy of the speed information for a moving object (e.g. vehicle).
 *
 * It includes the following components: 
 * 
 * @field speedValue: the speed value.
 * 
 * @field speedConfidence: the accuracy of the reported speed value.
 *
 * @category: Kinematics information
 * @revision: V1.3.1
 */
Speed ::= SEQUENCE {
    speedValue         SpeedValue,
    speedConfidence    SpeedConfidence
}
tijinkj's avatar
tijinkj committed
/**
 * This DF describes the extended speed and corresponding accuracy of the speed information for a moving object (e.g. vehicle).
 *
 * It includes the following components: 
 * 
 * @field speedValue: the extended speed value.
 * 
 * @field speedConfidence: the accuracy of the reported speed value.
 *
 * @category: Kinematics information
 * @revision: V2.1.1
 */
SpeedExtended ::= SEQUENCE {
    speedValue         SpeedValueExtended,
    speedConfidence    SpeedConfidence
}
tijinkj's avatar
tijinkj committed
/**
 * This DF  provides the  indication of  change in stability.
 *
 * It includes the following components: 
 * 
 * @field lossProbability: the probability of stability loss. 
 * 
 * @field actionDeltaTime: accuracy of the reported speed value.
 *
 * @category: Kinematics information
 * @revision: V2.1.1
 */
StabilityChangeIndication ::= SEQUENCE {
    lossProbability     StabilityLossProbability,
    actionDeltaTime     DeltaTimeTenthOfSecond,
    ...
}

/**
 * This DF represents the steering wheel angle of the vehicle at certain point in time.
 *
 * It includes the following components: 
 * 
 * @field steeringWheelAngleValue: steering wheel angle value.
 * 
 * @field steeringWheelAngleConfidence: accuracy of the reported steering wheel angle value.
 * 
 * @category: Vehicle information
 * @revision: Created in V2.1.1
 */
SteeringWheelAngle ::= SEQUENCE {
    steeringWheelAngleValue         SteeringWheelAngleValue,
    steeringWheelAngleConfidence    SteeringWheelAngleConfidence
tijinkj's avatar
tijinkj committed
/**
 * This DF represents one or more paths using @ref PathHistory.
 * 
 * @category: GeoReference information
 * @revision: Description revised in V2.1.1. Is is now based on Path and not on PathHistory
 */
Traces ::= SEQUENCE SIZE(1..7) OF Path

/**
 * Ths DF represents the a position on a traffic island between two lanes. 
 *
 * It includes the following components: 
 *
 * @field oneSide: represents one lane.
 * 
 * @field otherSide: represents the other lane.
 * 
 * @category: Road Topology information
 * @revision: Created in V2.1.1
 */
TrafficIslandPosition ::= SEQUENCE {
    oneSide      LanePositionAndType,
    otherSide    LanePositionAndType,
    ...
}
tijinkj's avatar
tijinkj committed
/** 
 * This DF provides detailed information about an attached trailer.
 *
 * It includes the following components: 
 *
 * @field refPointId: identifier of the reference point of the trailer.
 *
 * @field hitchPointOffset: optional position of the hitch point in negative x-direction (according to ISO 8855) from the
 * vehicle Reference Point.
 *
 * @field frontOverhang: Length of the trailer overhang in the positive x direction (according to ISO 8855) from the
 * trailer Reference Point indicated by the refPointID. The value defaults to 0 in case the trailer
 * is not overhanging to the front with respect to the trailer reference point.
 *
 * @field rearOverhang: Length of the trailer overhang in the negative x direction (according to ISO 8855) from the
 * trailer Reference Point indicated by the refPointID.
 *
 * @field trailerWidth: optional width of the trailer.
 *
 * @field hitchAngle: optional Value and confidence of the angle between the trailer orientation (corresponding to the x
 * direction of the ISO 8855 [i.2] coordinate system centered on the trailer) and the direction of
 * the segment having as end points the reference point of the trailer and the reference point of
 * the pulling vehicle, which can be another trailer or a vehicle looking on the horizontal plane
 * xy, described in the local Cartesian coordinate system of the preceding reference point. The
 * angle is measured with negative values considering the trailer orientation turning clockwise
 * starting from the segment direction. The angle value accuracy is provided with the
 * confidence level of 95 %.
 *
 * @category: Vehicle information
 * @revision: Created in V2.1.1
*/
TrailerData ::= SEQUENCE { --tbd check descriptions above
    refPointId          Identifier1B,
    hitchPointOffset    StandardLength1B, -- tbd is the value unavailable needed?
    frontOverhang       StandardLength1B, 
    rearOverhang        StandardLength1B, 
tijinkj's avatar
tijinkj committed
    trailerWidth        VehicleWidth,
    hitchAngle          CartesianAngle,
tijinkj's avatar
tijinkj committed
    ...
}
tijinkj's avatar
tijinkj committed
/**
 * This DF  provides the trajectory  interception  indication  of  ego-VRU  ITS-S  with another ITS-Ss. 
 *
 * It includes the following components: 
 * 
 * @field subjectStation: indicates the subject station.
 * 
 * @field trajectoryInterceptionProbability: indicates the propbability of the interception of the subject station trajectory 
 * with the trajectory of the station indicated in the component subjectStation.
 *
 * @field trajectoryInterceptionConfidence: indicates the confidence of interception of the subject station trajectory 
 * with the trajectory of the station indicated in the component subjectStation.
 * 
 * @category: Vehicle information
 * @revision: Created in V2.1.1
 */
TrajectoryInterceptionIndication  ::= SEQUENCE {
        subjectStation                       StationID OPTIONAL, 
        trajectoryInterceptionProbability    TrajectoryInterceptionProbability,
        trajectoryInterceptionConfidence     TrajectoryInterceptionConfidence OPTIONAL,
        ... 
    }

/**
 * This DF together with its sub DFs Ext1, Ext2 and the DE Ext3 provides the custom (i.e. not ASN.1 standard) definition of an integer with variable lenght, that can be used for example to encode the ITS-AID. 
 *
 * @category: Vehicle information
 * @revision: Created in V2.1.1
 */
VarLengthNumber::=CHOICE{
	content	    [0] INTEGER(0..127), -- one octet length
	extension	[1]	Ext1
	}
Ext1::=CHOICE{
	content	    [0]	INTEGER(128..16511), -- two octets length
	extension	[1]	Ext2
}
Ext2::=CHOICE{
	content	    [0]	INTEGER(16512..2113663), -- three octets length
	extension	[1]	Ext3
	}
Ext3::= INTEGER(2113664..270549119,...) -- four and more octets length

/**
 * This DF indicates the vehicle acceleration at vertical direction and the accuracy of the vertical acceleration.
 *
 * It includes the following components: 
 * 
 * @field verticalAccelerationValue: vertical acceleration value at a point in time.
 * 
 * @field verticalAccelerationConfidence: accuracy of the reported vertical acceleration value with a predefined confidence level.
 * 
 * @note: this DF is kept forbackwards compatibility reasons only. It is recommended to use @ref Acceleration1d instead
 * @category Vehicle information
 * @revision: V1.3.1
 */
VerticalAcceleration ::= SEQUENCE {
    verticalAccelerationValue         VerticalAccelerationValue,
    verticalAccelerationConfidence    AccelerationConfidence
}
tijinkj's avatar
tijinkj committed
/**
 * This DF provides information related to the identification of a vehicle.
 *
 * It includes the following components: 
 * 
 * @field wMInumber: World Manufacturer Identifier (WMI) code.
 * 
 * @field vDS: Vehicle Descriptor Section (VDS). 
 * 
 * @category: Vehicle information
 * @revision: V1.3.1
 */
VehicleIdentification ::= SEQUENCE {
    wMInumber    WMInumber OPTIONAL,
    vDS          VDS OPTIONAL,
    ...
}
tijinkj's avatar
tijinkj committed
/**
 * This DF represents the length of vehicle and accuracy indication information.
 *
 * It includes the following components: 
 * 
 * @field vehicleLengthValue: length of vehicle. 
 * 
 * @field vehicleLengthConfidenceIndication: indication of reported length value confidence.
 * 
 * @category: Vehicle information
 * @revision: V1.3.1
 */
VehicleLength ::= SEQUENCE {
    vehicleLengthValue                   VehicleLengthValue,
    vehicleLengthConfidenceIndication    VehicleLengthConfidenceIndication
}
tijinkj's avatar
tijinkj committed
/** 
 * This DF provides information about a VRU cluster.
 *
 * It includes the following components: 
 *
 * @field clusterId: optional identifier of a VRU cluster .
 *
 * @field clusterBoundingBoxShape: optionally indicates the shape of the cluster bounding box.
 *
 * @field clusterCardinalitySize: indicates an estimation of the number of VRUs in the group.
 *
tijinkj's avatar
tijinkj committed
 * @field clusterProfiles: optionally identifies all the VRU profile types that are believed to be within the cluster.
 * if this component is absent it means that the information is unavailable. 
tijinkj's avatar
tijinkj committed
 *
 * @category: VRU information
 * @revision: Created in V2.1.1
*/
VruClusterInformation ::= SEQUENCE { 
   clusterId                  ClusterId OPTIONAL,
   clusterBoundingBoxShape    Shape (WITH COMPONENTS{..., ellipse ABSENT, radial ABSENT, radialShapes ABSENT}) OPTIONAL,
   clusterCardinalitySize     ClusterCardinalitySize,
tijinkj's avatar
tijinkj committed
   clusterProfiles            VruClusterProfiles OPTIONAL,
tijinkj's avatar
tijinkj committed
   ...
}

/**
 * This DF indicates the profile of a VRU including sub-profile information
 * It identifies four options corresponding to the four types of VRU profiles specified in ETSI TS 103 300-2 [i.22]:
 *
 * @field pedestrian: VRU Profile 1 - Pedestrian.
 *
 * @field bicyclistAndLightVruVehicle: VRU Profile  2 - Bicyclist.
 *
 * @field motorcyclist: VRU Profile 3  - Motorcyclist.
 *
 * @field animal: VRU Profile  4 -  Animals.
 *
 * @category: VRU information
 * @revision: Created in V2.1.1
 */
VruProfileAndSubprofile ::= CHOICE {
   pedestrian                     VruSubProfilePedestrian,
   bicyclistAndLightVruVehicle    VruSubProfileBicyclist,
   motorcylist                    VruSubProfileMotorcyclist,
   animal                         VruSubProfileAnimal,
   ...
}

/** 
 * This DF represents an angular component along with a confidence in the WGS84 coordinate system.
 *
 * It includes the following components: 
 *
 * @field value: the angle value which can be estimated as the mean of the current distribution.
 *
 * @field confidence: the accuracy associated to the provided value.
 *
 * @category: GeoReference information
 * @revision: Created in V2.1.1
*/
Wgs84Angle ::= SEQUENCE {
    value         Wgs84AngleValue,
    confidence    Wgs84AngleConfidence
}


/**
 * This DF represents a yaw rate of vehicle at a point in time.
 *
 * It includes the following components: