etsi_its_messages v3.4.0
Loading...
Searching...
No Matches
cdd_v2-1-1_getters.h File Reference

Getter functions for the ETSI ITS Common Data Dictionary (CDD) v2.1.1. More...

#include <GeographicLib/UTMUPS.hpp>
#include <etsi_its_msgs_utils/impl/cdd/cdd_getters_common.h>

Go to the source code of this file.

Functions

double getLongitudinalAcceleration (const AccelerationComponent &longitudinal_acceleration)
 Get the longitudinal acceleration.
double getLongitudinalAccelerationConfidence (const AccelerationComponent &longitudinal_acceleration)
 Get the Longitudinal Acceleration Confidence.
double getLateralAcceleration (const AccelerationComponent &lateral_acceleration)
 Get the lateral acceleration.
double getLateralAccelerationConfidence (const AccelerationComponent &lateral_acceleration)
 Get the Lateral Acceleration Confidence.
template<typename PositionConfidenceEllipse>
std::tuple< double, double, double > getPositionConfidenceEllipse (PositionConfidenceEllipse &position_confidence_ellipse)
 Extract major axis length, minor axis length and orientation from the given position confidence ellipse.
template<typename PositionConfidenceEllipse>
std::array< double, 4 > getPositionConfidenceEllipse (const PositionConfidenceEllipse &position_confidence_ellipse, const double object_heading)
 Get the covariance matrix of the position confidence ellipse.
template<typename PositionConfidenceEllipse>
std::array< double, 4 > getWGSPositionConfidenceEllipse (const PositionConfidenceEllipse &position_confidence_ellipse)
 Get the covariance matrix of the position confidence ellipse.

Detailed Description

Getter functions for the ETSI ITS Common Data Dictionary (CDD) v2.1.1.

Definition in file cdd_v2-1-1_getters.h.

Function Documentation

◆ getLateralAcceleration()

double getLateralAcceleration ( const AccelerationComponent & lateral_acceleration)
inline

Get the lateral acceleration.

Parameters
lateralAccelerationto get the lateral acceleration from
Returns
lateral acceleration in m/s^2 as decimal number (left is positive)

Definition at line 42 of file cdd_v2-1-1_getters.h.

42 {
43 return ((double)lateral_acceleration.value.value) * 1e-1;
44}

◆ getLateralAccelerationConfidence()

double getLateralAccelerationConfidence ( const AccelerationComponent & lateral_acceleration)
inline

Get the Lateral Acceleration Confidence.

Parameters
lateral_accelerationto get the LateralAccelerationConfidence from
Returns
double standard deviation of the lateral acceleration in m/s^2 as decimal number

Definition at line 52 of file cdd_v2-1-1_getters.h.

52 {
53 return ((double)lateral_acceleration.confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
54}

◆ getLongitudinalAcceleration()

double getLongitudinalAcceleration ( const AccelerationComponent & longitudinal_acceleration)
inline

Get the longitudinal acceleration.

Parameters
longitudinalAccelerationto get the longitudinal acceleration from
Returns
longitudinal acceleration in m/s^2 as decimal number (left is positive)

Definition at line 22 of file cdd_v2-1-1_getters.h.

22 {
23 return ((double)longitudinal_acceleration.value.value) * 1e-1;
24}

◆ getLongitudinalAccelerationConfidence()

double getLongitudinalAccelerationConfidence ( const AccelerationComponent & longitudinal_acceleration)
inline

Get the Longitudinal Acceleration Confidence.

Parameters
longitudinal_accelerationto get the LongitudinalAccelerationConfidence from
Returns
double standard deviation of the longitudinal acceleration in m/s^2 as decimal number

Definition at line 32 of file cdd_v2-1-1_getters.h.

32 {
33 return ((double)longitudinal_acceleration.confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
34}

◆ getPositionConfidenceEllipse() [1/2]

template<typename PositionConfidenceEllipse>
std::array< double, 4 > getPositionConfidenceEllipse ( const PositionConfidenceEllipse & position_confidence_ellipse,
const double object_heading )
inline

Get the covariance matrix of the position confidence ellipse.

Parameters
position_confidence_ellipseThe position confidence ellipse to get the covariance matrix from
object_headingThe object heading in radians
Returns
std::array<double, 4> The covariance matrix of the position confidence ellipse in vehicle coordinates (x = longitudinal, y = lateral)

Definition at line 80 of file cdd_v2-1-1_getters.h.

80 {
81 auto [semi_major, semi_minor, major_orientation] = getPositionConfidenceEllipse(position_confidence_ellipse);
82 return CovMatrixFromConfidenceEllipse(semi_major, semi_minor, major_orientation, object_heading);
83}
std::array< double, 4 > CovMatrixFromConfidenceEllipse(double semi_major, double semi_minor, double major_orientation, const double object_heading)
Convert the confidence ellipse to a covariance matrix.
std::tuple< double, double, double > getPositionConfidenceEllipse(PositionConfidenceEllipse &position_confidence_ellipse)
Extract major axis length, minor axis length and orientation from the given position confidence ellip...

◆ getPositionConfidenceEllipse() [2/2]

template<typename PositionConfidenceEllipse>
std::tuple< double, double, double > getPositionConfidenceEllipse ( PositionConfidenceEllipse & position_confidence_ellipse)
inline

Extract major axis length, minor axis length and orientation from the given position confidence ellipse.

Parameters
position_confidence_ellipseThe position confidence ellipse to extract the values from
Returns
std::tuple<double, double, double> major axis length in meters, minor axis length in meters, and orientation in degrees

Definition at line 64 of file cdd_v2-1-1_getters.h.

64 {
65 return {
66 getSemiAxis(position_confidence_ellipse.semi_major_axis_length),
67 getSemiAxis(position_confidence_ellipse.semi_minor_axis_length),
68 position_confidence_ellipse.semi_major_axis_orientation.value * 1e-1
69 };
70}
double getSemiAxis(const SemiAxisLength &semi_axis_length)
Get the Semi Axis object.

◆ getWGSPositionConfidenceEllipse()

template<typename PositionConfidenceEllipse>
std::array< double, 4 > getWGSPositionConfidenceEllipse ( const PositionConfidenceEllipse & position_confidence_ellipse)
inline

Get the covariance matrix of the position confidence ellipse.

Parameters
position_confidence_ellipseThe position confidence ellipse to get the covariance matrix from
object_headingThe object heading in radians
Returns
std::array<double, 4> The covariance matrix of the position confidence ellipse in WGS coordinates (x = North, y = East)

Definition at line 93 of file cdd_v2-1-1_getters.h.

93 {
94 auto [semi_major, semi_minor, major_orientation] = getPositionConfidenceEllipse(position_confidence_ellipse);
95 return WGSCovMatrixFromConfidenceEllipse(semi_major, semi_minor, major_orientation);
96}
std::array< double, 4 > WGSCovMatrixFromConfidenceEllipse(double semi_major, double semi_minor, double major_orientation)
Convert the confidence ellipse to a covariance matrix.