Skip to content

Namespace inertialsim::geodesy::ecef

Namespace List > inertialsim > geodesy > ecef

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.

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:

Tuple of (xyz coordinates, 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:

Tuple of (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:

Tuple of (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:

Tuple of (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:

Tuple of (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 as a 3xN matrix.

Exception:

  • std::invalid_argument if shape is invalid.


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