Skip to content

Namespace inertialsim::geodesy::ellipsoidal_harmonic

Namespace List > inertialsim > geodesy > ellipsoidal_harmonic

Public Functions

Type Name
std::pair< Array3D, TransformMatrixArray > FromEcef (const Vector3D & xyz, const GeodeticDatum & datum=WGS84)
Ellipsoidal harmonic coordinates from ECEF coordinates.
std::pair< Array3D, TransformMatrixArray > FromEllipsoidalHarmonic (const Array3D & upl)
Ellipsoidal harmonic coordinates from ellipsoidal harmonic coordinates.
Array3D Validate (const Array3D & upl)
Validates inputs meet ellipsoidal harmonic coordinate conventions.

Public Functions Documentation

function FromEcef

Ellipsoidal harmonic coordinates from ECEF coordinates.

std::pair< Array3D, TransformMatrixArray > inertialsim::geodesy::ellipsoidal_harmonic::FromEcef (
    const Vector3D & xyz,
    const GeodeticDatum & datum=WGS84
) 

Parameters:

  • xyz Earth-centered, Earth-fixed (ECEF) cartesian coordinates.
  • datum A datum describing Earth's shape and gravity field.

Returns:

Tuple of (ellipsoidal harmonic coordinates, ECEF-to-ellipsoidal transform matrices).


function FromEllipsoidalHarmonic

Ellipsoidal harmonic coordinates from ellipsoidal harmonic coordinates.

std::pair< Array3D, TransformMatrixArray > inertialsim::geodesy::ellipsoidal_harmonic::FromEllipsoidalHarmonic (
    const Array3D & upl
) 

Validates the input coordinates and returns identity transforms.

Parameters:

  • upl Ellipsoidal harmonic coordinates (semi-minor axis, polar angle, longitude).

Returns:

Tuple of (validated upl coordinates, identity transform matrices).


function Validate

Validates inputs meet ellipsoidal harmonic coordinate conventions.

Array3D inertialsim::geodesy::ellipsoidal_harmonic::Validate (
    const Array3D & upl
) 

Inputs are validated for shape, size, and range. The input must be a 3xN matrix where N is the number of coordinate sets. Semi-minor axis must be positive (>=0). Polar angle must be in range [0, pi]. Longitude must be in range [-pi, 2*pi] and will be wrapped to (-pi, pi].

Parameters:

  • upl Ellipsoidal harmonic coordinates (semi-minor axis, polar angle, longitude).

Returns:

Validated coordinates with longitude wrapped to (-pi, pi].

Exception:

  • std::invalid_argument if shape or values are invalid.


The documentation for this class was generated from the following file cpp/include/inertialsim/geodesy/ellipsoidal_harmonic.h