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:
xyzEarth-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:
uplEllipsoidal harmonic coordinates (semi-minor axis, polar angle, longitude).datumA 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:
llaGeodetic coordinates (latitude, longitude, altitude) as 3xN matrix. Latitude and longitude in radians, altitude in meters.datumA 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:
rplGeocentric 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:
nedTopocentric coordinates (NED or ENU) as 3xN matrix.datumA 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.
Inputs are validated for shape and size. The input must be a 3xN matrix where N is the number of coordinate sets.
Parameters:
xyzEarth-centered, Earth-fixed (ECEF) cartesian coordinates.
Returns:
Validated coordinates.
Exception:
std::invalid_argumentif dimensions are invalid.
The documentation for this class was generated from the following file cpp/include/inertialsim/geodesy/ecef.h