Fixposition SDK 0.0.0-heads/main-0-g7b59b93
Collection of c++ libraries and apps for use with Fixposition products
Loading...
Searching...
No Matches
trafo.hpp File Reference

Fixposition SDK: Transformation utilities. More...

#include <memory>
#include <string>
#include "fpsdk_common/ext/eigen_core.hpp"
#include "fpsdk_common/ext/eigen_geometry.hpp"
Include dependency graph for trafo.hpp:

Go to the source code of this file.

Classes

class  fpsdk::common::trafo::Transformer
 "Universal" coordinate transformer, backed by PROJ More...
 

Namespaces

namespace  fpsdk
 Fixposition SDK.
 
namespace  fpsdk::common
 Fixposition SDK: Common library.
 
namespace  fpsdk::common::trafo
 Transformation utilities.
 

Functions

Eigen::Matrix3d fpsdk::common::trafo::RotEnuEcef (const double lat, const double lon)
 Calculate the rotation matrix from ECEF to ENU for a given reference latitude/longitude.
 
Eigen::Matrix3d fpsdk::common::trafo::RotEnuEcef (const Eigen::Vector3d &ecef)
 Calculate the rotation matrix from ECEF to ENU for a given reference position.
 
Eigen::Matrix3d fpsdk::common::trafo::RotNedEnu ()
 Returns rotation matrix between NED and ENU.
 
Eigen::Matrix3d fpsdk::common::trafo::RotNedEcef (const double lat, const double lon)
 Calculate the rotation matrix from ECEF to NED for a given reference latitude/longitude.
 
Eigen::Matrix3d fpsdk::common::trafo::RotNedEcef (const Eigen::Vector3d &ecef)
 Calculate the rotation matrix from ECEF to NED for a given reference origin.
 
Eigen::Vector3d fpsdk::common::trafo::TfEnuEcef (const Eigen::Vector3d &ecef, const Eigen::Vector3d &wgs84llh_ref)
 Transform ECEF coordinate to ENU with specified ENU-origin.
 
Eigen::Vector3d fpsdk::common::trafo::TfEcefEnu (const Eigen::Vector3d &enu, const Eigen::Vector3d &wgs84llh_ref)
 Transform ENU coordinate to ECEF with specified ENU-origin.
 
Eigen::Vector3d fpsdk::common::trafo::TfNedEcef (const Eigen::Vector3d &ecef, const Eigen::Vector3d &wgs84llh_ref)
 Convert ECEF coordinates to ENU with specified ENU origin.
 
Eigen::Vector3d fpsdk::common::trafo::TfEcefNed (const Eigen::Vector3d &ned, const Eigen::Vector3d &wgs84llh_ref)
 
Eigen::Vector3d fpsdk::common::trafo::TfEcefWgs84Llh (const Eigen::Vector3d &wgs84llh)
 Convert geodetic coordinates (latitude, longitude, height) to ECEF (x, y, z).
 
Eigen::Vector3d fpsdk::common::trafo::TfWgs84LlhEcef (const Eigen::Vector3d &ecef)
 Convert ECEF (x, y, z) coordinates to geodetic coordinates (latitude, longitude, height) (latitude, longitude, altitude).
 
Eigen::Vector3d fpsdk::common::trafo::EcefPoseToEnuEul (const Eigen::Vector3d &ecef_p, const Eigen::Matrix3d &ecef_r)
 Calculate yaw, pitch and roll in ENU from a given pose in ECEF.
 
Eigen::Vector3d fpsdk::common::trafo::QuatToEul (const Eigen::Quaterniond &quat)
 Vector4 quaternion to intrinsic Euler Angles in ZYX (yaw,pitch,roll)
 
Eigen::Vector3d fpsdk::common::trafo::RotToEul (const Eigen::Matrix3d &rot)
 Rotation Matrix to intrinsic Euler Angles in ZYX (Yaw-Pitch-Roll) order in radian.
 
Eigen::Vector3d fpsdk::common::trafo::LlhDegToRad (const Eigen::Vector3d &llh_deg)
 Convert llh from deg to rad, height component unchanged.
 
Eigen::Vector3d fpsdk::common::trafo::LlhRadToDeg (const Eigen::Vector3d &llh_rad)
 Convert llh from rad to deg, height component unchanged.
 

Variables

WGS-84 constants
static constexpr double fpsdk::common::trafo::WGS84_A = 6378137.0
 WGS-84 Earth radius major axis [m].
 
static constexpr double fpsdk::common::trafo::WGS84_B = 6356752.314245
 WGS-84 Earth radius minor axis [m].
 
static constexpr double fpsdk::common::trafo::WGS84_1F = 298.257223563
 WGS-84 1/f inverse of flattening parameter.
 
static constexpr double fpsdk::common::trafo::WGS84_E2 = 6.69437999014e-3
 WGS-84 first eccentricity squared.
 
static constexpr double fpsdk::common::trafo::WGS84_A2 = WGS84_A * WGS84_A
 WGS-84 a_^2.
 
static constexpr double fpsdk::common::trafo::WGS84_B2 = WGS84_B * WGS84_B
 WGS-84 b_^2.
 
static constexpr double fpsdk::common::trafo::WGS84_EE2 = WGS84_A2 / WGS84_B2 - 1
 WGS-84 e'^2 second eccentricity squared.
 

Detailed Description

Fixposition SDK: Transformation utilities.

* ___    ___
* \  \  /  /
*  \  \/  /   Copyright (c) Fixposition AG (www.fixposition.com) and contributors
*  /  /\  \   License: see the LICENSE file
* /__/  \__\
* 

Definition in file trafo.hpp.