Earth Magnetic Flux Density Container and Simple Estimator

This documentation was generated with the assistance of AI. Please report any inaccuracies.

Classes: EarthMagneticFluxDensityEstimator, NEDMagneticFluxDensity.

NEDMagneticFluxDensity

A plain data container for the Earth’s magnetic flux density resolved about the north, east, and down axes of the local navigation frame: , typically expressed in Teslas. It offers getBn()/getBe()/getBd() accessors and an asMatrix()/asArray() view for use in matrix algebra (e.g. in BodyMagneticFluxDensityEstimator).

EarthMagneticFluxDensityEstimator

A lightweight alternative to the full spherical-harmonic model: given a magnitude, declination, and dip that are already known (from any source — a WMM evaluation, a manufacturer datasheet, a fixed test value, or the International Geomagnetic Reference Field (IGRF) instead of the WMM), it builds the corresponding NEDMagneticFluxDensity vector directly:



where is declination, is dip (inclination), and is the field magnitude. This is exactly the inverse of the derived-quantities step in WMMEarthMagneticFluxDensityEstimator, and the class also provides the reverse conversion, recovering declination and dip from an existing NEDMagneticFluxDensity:


Use this class when the three scalar parameters are already available and only the vector form (or its inverse) is needed; use WMMEarthMagneticFluxDensityEstimator when they must be computed from a position and date.

double magnitude = 4.8e-5;             // field magnitude (T)
double declination = Math.toRadians(1.2);
double dip = Math.toRadians(58.0);

// static, stateless call - no need to instantiate the estimator
NEDMagneticFluxDensity b = EarthMagneticFluxDensityEstimator.estimate(magnitude, declination, dip);

double bn = b.getBn();
double be = b.getBe();

// and the reverse conversion
double recoveredDeclination = EarthMagneticFluxDensityEstimator.getDeclination(b);
double recoveredDip = EarthMagneticFluxDensityEstimator.getDip(b);

Where to go next