Skip to content

Geodesy module

Geodesy is the science of accurately measuring and understanding the Earth's geometric shape, orientation in space, and gravity field (NOAA).

Shape models are required to compute position in geodetic coordinates (ellipsoidal latitude and longitude). Gravity must be compensated in accelerometer sensor readings in order to calculate total acceleration. Earth's rotation must be compensated in gyroscope measurements and induces apparent forces (centripetal and Coriolis forces) that must be compensated in accelerometer measurements also.

The inertialsim.geodesy module provides classes to support these operations.

Geodetic datums

A datum describes a coordinate system (origin, direction of axes, etc). A geodetic datum describes a coordinate system with respect to Earth. By default InertialSim uses the World Geodetic System 1984 as detailed in Standard [07]. It is implemented in WGS84 which is of type GeodeticDatum. Advanced users can specify alternative datums.

Gravity models

InertialSim supplies several standard gravity models and allows for customized user models. The Gravity base class supplies a standard interface.

The simplest model is standard_magnitude which returns a constant scalar value of 9.80665 m/s/s. This is approximately the value of gravity at sea level and 45 degrees latitude and is internationally standardized. It is appropriate for use when converting units of g or if a single approximation is adequate for the application. See Standard [01].

Similarly standard_vector returns the standard magnitude in local coordinates (zero horizontal components, 9.80665 m/s/s in the vertical component).

EllipsoidalGravity supports an exact ellipsoidal model of planetary gravity. This model is exact in the sense that it is error free under the assumption of an ellipsoidal Earth for all altitudes on and above the ellipsoid surface (sea level). It is the state of the art closed form, analytical model (Standard [07]). An approximation is supplied (Reference [01]) extending it to altitudes below the ellipsoid surface. This exact ellipsoidal model includes the effect of Earth's rotation which induces a centripetal force. It can be returned in all common geodetic coordinate system (ECEF, spherical, etc.).

The ConstantGravity model supports any fixed value.

Earth rate models

The EarthRate base class supplies a standard interface to model Earth's rotation.

The ConstantEarthRate model supports any fixed value. The ZeroEarthRate is a trivial extension which indicates that Earth rate is irrelevant, as in inertial coordinate systems.

EllipsoidalEarthRate supports returning the Earth rate in all common geodetic coordinate system (ECEF, spherical, etc.).

Magnetic models

Analogously to the gravity and Earth rate models, the MagneticField base class supplies a standard interface to model magnetic fields.

The ConstantMagneticField model supports any fixed value.

InertialSim supplies the World Magnetic Model (WMM), with built-in support for the 2020 and 2025 variants (Standard [08]) via the WorldMagneticModel class. Earlier or newer variants can easily be added by users.

The WMM is an empirical model of Earth's core gravitational field. It is calculated at given geodetic coordinates and can be return the 3-dimensional field components in all common geodetic coordinate system (ECEF, spherical, etc.).

Other datums

InertialSim also supplies TopocentricDatum, VehicleDatum, and LocalDatum classes.

TopocentricDatum describes a coordinate system fixed to the Earth at a given set of geodetic coordinates (latitude, longitude, altitude). It supports the common axis orderings NED (North, East, Down, default) and ENU (East, North, Up).

VehicleDatum describes a coordinate system fixed to a vehicle. It supports the standard FRD (forward, right, down), and FLU (forward, left, up) axis orderings. See Standard [02].

LocalDatum can be extended to describe any axis ordering that might be relevant to a user's application.