My Project 1.0
Holistic Fusion: A Generic Framework for Multimodal Sensor Fusion
Loading...
Searching...
No Matches
holistic_fusion::Gnss Class Reference

#include <Gnss.h>

Public Member Functions

 Gnss ()
virtual ~Gnss ()=default
void setReference (const double &referenceLatitude, const double &referenceLongitude, const double &referenceAltitude, const double &referenceHeading)
void setMercatorReferenceFrame (const Eigen::Vector3d newReferencePoint)
Eigen::Vector3d gnssToCartesian (const double &latitudeInDegrees, const double &longitudeInDegrees, const double &altitude)
Eigen::Vector3d cartesianToGps (const Eigen::Matrix< double, 3, 1 > position) const
Eigen::Vector3d besselEllipsoidToMercator (const double &latitudeInRad, const double &longitudeInRad, const double &altitude)
Eigen::Vector3d gnssToLv03Raw (const double latitude_in_degrees, const double longitude_in_degrees, const double altitude)
Eigen::Vector3d gnssToLv03 (const double latitude_in_degrees, const double longitude_in_degrees, const double altitude)
double wGStoCHx (double lat, double lng)
double wGStoCHy (double lat, double lng)
double decToSexAngle (double dec)
double sexAngleToSeconds (double dms)
double getReferenceLongitude () const
double getReferenceLatitude () const
double getReferenceAltitude () const
double getReferenceHeading () const

Protected Member Functions

void calculateConversionParameters ()

Protected Attributes

double referenceLongitude_ = 7.43958
 Reference longitude of the GPS measurements [deg].
double referenceLatitude_ = 46.95241
 Reference latitude of the GPS measurements [deg].
double referenceAltitude_ = 0.0
 Reference altitude of the GPS measurements [m].
double referenceHeading_ = 0.0
 Reference heading for the GPS measurements [rad].
Eigen::Vector3d referencePointLv03_ = Eigen::Vector3d::Zero()
double earthRadiusN_ = 0.0
double earthRadiusE_ = 0.0
const double equatorialRadius_ = 6378137.0
const double flattening_ = 1.0 / 298.257223563
const double excentricity2_ = 2 * flattening_ - flattening_ * flattening_
const double a_ = 6377397.155
const double e2_ = 0.006674372230614
const double phi0_ = 46.95241 * M_PI / 180.0
const double lambda0_ = 7.43958 * M_PI / 180.0
const double r_ = a_ * sqrt(1 - e2_) / (1 - e2_ * sin(phi0_) * sin(phi0_))
const double alpha_ = sqrt(1 + e2_ / (1 - e2_) * pow(cos(phi0_), 4))
const double b0_ = asin(sin(phi0_) / alpha_)
const double k_
Eigen::Vector3d xyzOffset_ = Eigen::Vector3d::Zero()

Detailed Description

Definition at line 17 of file Gnss.h.

Constructor & Destructor Documentation

◆ Gnss()

holistic_fusion::Gnss::Gnss ( )

Definition at line 12 of file Gnss.cpp.

◆ ~Gnss()

virtual holistic_fusion::Gnss::~Gnss ( )
virtualdefault

Member Function Documentation

◆ besselEllipsoidToMercator()

Eigen::Vector3d holistic_fusion::Gnss::besselEllipsoidToMercator ( const double & latitudeInRad,
const double & longitudeInRad,
const double & altitude )

Definition at line 72 of file Gnss.cpp.

◆ calculateConversionParameters()

void holistic_fusion::Gnss::calculateConversionParameters ( )
protected

Definition at line 16 of file Gnss.cpp.

◆ cartesianToGps()

Eigen::Vector3d holistic_fusion::Gnss::cartesianToGps ( const Eigen::Matrix< double, 3, 1 > position) const

Definition at line 61 of file Gnss.cpp.

◆ decToSexAngle()

double holistic_fusion::Gnss::decToSexAngle ( double dec)

Definition at line 133 of file Gnss.cpp.

◆ getReferenceAltitude()

double holistic_fusion::Gnss::getReferenceAltitude ( ) const
inline

Definition at line 43 of file Gnss.h.

◆ getReferenceHeading()

double holistic_fusion::Gnss::getReferenceHeading ( ) const
inline

Definition at line 44 of file Gnss.h.

◆ getReferenceLatitude()

double holistic_fusion::Gnss::getReferenceLatitude ( ) const
inline

Definition at line 42 of file Gnss.h.

◆ getReferenceLongitude()

double holistic_fusion::Gnss::getReferenceLongitude ( ) const
inline

Definition at line 41 of file Gnss.h.

◆ gnssToCartesian()

Eigen::Vector3d holistic_fusion::Gnss::gnssToCartesian ( const double & latitudeInDegrees,
const double & longitudeInDegrees,
const double & altitude )

Definition at line 45 of file Gnss.cpp.

◆ gnssToLv03()

Eigen::Vector3d holistic_fusion::Gnss::gnssToLv03 ( const double latitude_in_degrees,
const double longitude_in_degrees,
const double altitude )

Definition at line 92 of file Gnss.cpp.

◆ gnssToLv03Raw()

Eigen::Vector3d holistic_fusion::Gnss::gnssToLv03Raw ( const double latitude_in_degrees,
const double longitude_in_degrees,
const double altitude )

Definition at line 102 of file Gnss.cpp.

◆ setMercatorReferenceFrame()

void holistic_fusion::Gnss::setMercatorReferenceFrame ( const Eigen::Vector3d newReferencePoint)

Definition at line 39 of file Gnss.cpp.

◆ setReference()

void holistic_fusion::Gnss::setReference ( const double & referenceLatitude,
const double & referenceLongitude,
const double & referenceAltitude,
const double & referenceHeading )

Definition at line 24 of file Gnss.cpp.

◆ sexAngleToSeconds()

double holistic_fusion::Gnss::sexAngleToSeconds ( double dms)

Definition at line 140 of file Gnss.cpp.

◆ wGStoCHx()

double holistic_fusion::Gnss::wGStoCHx ( double lat,
double lng )

Definition at line 108 of file Gnss.cpp.

◆ wGStoCHy()

double holistic_fusion::Gnss::wGStoCHy ( double lat,
double lng )

Definition at line 121 of file Gnss.cpp.

Member Data Documentation

◆ a_

const double holistic_fusion::Gnss::a_ = 6377397.155
protected

Definition at line 77 of file Gnss.h.

◆ alpha_

const double holistic_fusion::Gnss::alpha_ = sqrt(1 + e2_ / (1 - e2_) * pow(cos(phi0_), 4))
protected

Definition at line 87 of file Gnss.h.

◆ b0_

const double holistic_fusion::Gnss::b0_ = asin(sin(phi0_) / alpha_)
protected

Definition at line 89 of file Gnss.h.

◆ e2_

const double holistic_fusion::Gnss::e2_ = 0.006674372230614
protected

Definition at line 79 of file Gnss.h.

◆ earthRadiusE_

double holistic_fusion::Gnss::earthRadiusE_ = 0.0
protected

Definition at line 66 of file Gnss.h.

◆ earthRadiusN_

double holistic_fusion::Gnss::earthRadiusN_ = 0.0
protected

Definition at line 65 of file Gnss.h.

◆ equatorialRadius_

const double holistic_fusion::Gnss::equatorialRadius_ = 6378137.0
protected

Definition at line 69 of file Gnss.h.

◆ excentricity2_

const double holistic_fusion::Gnss::excentricity2_ = 2 * flattening_ - flattening_ * flattening_
protected

Definition at line 72 of file Gnss.h.

◆ flattening_

const double holistic_fusion::Gnss::flattening_ = 1.0 / 298.257223563
protected

Definition at line 70 of file Gnss.h.

◆ k_

const double holistic_fusion::Gnss::k_
protected
Initial value:
= log(tan(M_PI_4 + b0_ / 2.0)) - alpha_ * log(tan(M_PI_4 + phi0_ / 2.0)) +
alpha_ * sqrt(e2_) / 2.0 * log((1 + sqrt(e2_) * sin(phi0_)) / (1 - sqrt(e2_) * sin(phi0_)))
const double alpha_
Definition Gnss.h:87
const double b0_
Definition Gnss.h:89
const double e2_
Definition Gnss.h:79
const double phi0_
Definition Gnss.h:81

Definition at line 91 of file Gnss.h.

◆ lambda0_

const double holistic_fusion::Gnss::lambda0_ = 7.43958 * M_PI / 180.0
protected

Definition at line 83 of file Gnss.h.

◆ phi0_

const double holistic_fusion::Gnss::phi0_ = 46.95241 * M_PI / 180.0
protected

Definition at line 81 of file Gnss.h.

◆ r_

const double holistic_fusion::Gnss::r_ = a_ * sqrt(1 - e2_) / (1 - e2_ * sin(phi0_) * sin(phi0_))
protected

Definition at line 85 of file Gnss.h.

◆ referenceAltitude_

double holistic_fusion::Gnss::referenceAltitude_ = 0.0
protected

Reference altitude of the GPS measurements [m].

Definition at line 56 of file Gnss.h.

◆ referenceHeading_

double holistic_fusion::Gnss::referenceHeading_ = 0.0
protected

Reference heading for the GPS measurements [rad].

Definition at line 59 of file Gnss.h.

◆ referenceLatitude_

double holistic_fusion::Gnss::referenceLatitude_ = 46.95241
protected

Reference latitude of the GPS measurements [deg].

Definition at line 53 of file Gnss.h.

◆ referenceLongitude_

double holistic_fusion::Gnss::referenceLongitude_ = 7.43958
protected

Reference longitude of the GPS measurements [deg].

Definition at line 50 of file Gnss.h.

◆ referencePointLv03_

Eigen::Vector3d holistic_fusion::Gnss::referencePointLv03_ = Eigen::Vector3d::Zero()
protected

Definition at line 62 of file Gnss.h.

◆ xyzOffset_

Eigen::Vector3d holistic_fusion::Gnss::xyzOffset_ = Eigen::Vector3d::Zero()
protected

Definition at line 94 of file Gnss.h.


The documentation for this class was generated from the following files:
  • holistic_fusion/include/holistic_fusion/gnss/Gnss.h
  • holistic_fusion/src/lib/Gnss.cpp