Skip to content

Namespace inertialsim::geodesy::ecef

Namespace List > inertialsim > geodesy > ecef

ECEF coordinate conversions (internal API). More...

Public Functions

Type Name
std::pair< Vector3D, TransformMatrixArray > FromEcef (const Vector3D & xyz)
ECEF coordinates from ECEF coordinates.
std::pair< Vector3D, TransformMatrixArray > FromEllipsoidalHarmonic (const Array3D & upl, const GeodeticDatum & datum=WGS84)
ECEF coordinates from ellipsoidal harmonic coordinates.
std::pair< Vector3D, TransformMatrixArray > FromGeodetic (const Array3D & lla, const GeodeticDatum & datum=WGS84)
ECEF coordinates from geodetic coordinates.
std::pair< Vector3D, TransformMatrixArray > FromSpherical (const Array3D & rpl)
ECEF coordinates from geocentric spherical coordinates.
std::pair< Vector3D, TransformMatrixArray > FromTopocentric (const Vector3D & ned, const TopocentricDatum & datum)
ECEF coordinates from topocentric coordinates.
Vector3D Validate (const Vector3D & xyz)
Validates inputs meet ECEF 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

ECEF coordinates from ECEF coordinates.

std::pair< Vector3D , TransformMatrixArray > inertialsim::geodesy::ecef::FromEcef (
    const  Vector3D & xyz
) 

Validates the input coordinates and returns identity transforms.

Parameters:

  • xyz Earth-centered, Earth-fixed (ECEF) cartesian coordinates.

Returns:

Pair containing:

  • XYZ coordinates (validated)
  • Identity transform matrices

function FromEllipsoidalHarmonic

ECEF coordinates from ellipsoidal harmonic coordinates.

std::pair< Vector3D , TransformMatrixArray > inertialsim::geodesy::ecef::FromEllipsoidalHarmonic (
    const  Array3D & upl,
    const  GeodeticDatum & datum=WGS84
) 

Parameters:

  • upl Ellipsoidal harmonic coordinates (semi-minor axis, polar angle, longitude).
  • datum A datum describing Earth's shape and gravity field.

Returns:

Pair containing:

  • ECEF coordinates
  • Transform matrices

function FromGeodetic

ECEF coordinates from geodetic coordinates.

std::pair< Vector3D , TransformMatrixArray > inertialsim::geodesy::ecef::FromGeodetic (
    const  Array3D & lla,
    const  GeodeticDatum & datum=WGS84
) 

Converts geodetic coordinates (latitude, longitude, altitude) to ECEF cartesian coordinates.

Note

The transform returned converts points from the geodetic local basis (NED: North-East-Down) to the ECEF local basis.

Parameters:

  • lla Geodetic coordinates (latitude, longitude, altitude) as 3xN matrix. Latitude and longitude in radians, altitude in meters.
  • datum A datum describing Earth's shape and gravity field.

Returns:

Pair containing:

  • ECEF coordinates
  • Transform matrices from NED to ECEF

function FromSpherical

ECEF coordinates from geocentric spherical coordinates.

std::pair< Vector3D , TransformMatrixArray > inertialsim::geodesy::ecef::FromSpherical (
    const  Array3D & rpl
) 

Parameters:

  • rpl Geocentric spherical coordinates (radius, polar angle, longitude).

Returns:

Pair containing:

  • ECEF coordinates
  • Transform matrices from spherical to ECEF

function FromTopocentric

ECEF coordinates from topocentric coordinates.

std::pair< Vector3D , TransformMatrixArray > inertialsim::geodesy::ecef::FromTopocentric (
    const  Vector3D & ned,
    const  TopocentricDatum & datum
) 

Converts topocentric coordinates (NED or ENU) to ECEF cartesian coordinates.

Parameters:

  • ned Topocentric coordinates (NED or ENU) as 3xN matrix.
  • datum A datum describing the origin and axis order of the topocentric coordinates.

Returns:

Pair containing:

  • ECEF coordinates
  • Transform matrices from topocentric to ECEF

function Validate

Validates inputs meet ECEF coordinate conventions.

Vector3D inertialsim::geodesy::ecef::Validate (
    const  Vector3D & xyz
) 

Inputs are validated for shape and size. The input must be a 3xN matrix where N is the number of coordinate sets.

Parameters:

  • xyz Earth-centered, Earth-fixed (ECEF) cartesian coordinates.

Returns:

Validated coordinates.

Exception:

  • std::invalid_argument if dimensions are invalid.


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