Skip to content

Namespace inertialsim::geodesy::ellipsoidal_harmonic

Namespace List > inertialsim > geodesy > ellipsoidal_harmonic

Ellipsoidal harmonic coordinate conversions (internal API). More...

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.

Detailed Description

Internal API

This namespace is part of InertialSim's internal API. Most users should use the Coordinates class and its factory methods rather than calling these functions directly.

See also: Coordinates

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:

Pair containing:

  • 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:

Pair containing:

  • 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 dimensions or values are invalid.


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