Class WMMEarthMagneticFluxDensityEstimator

java.lang.Object
com.irurueta.navigation.inertial.wmm.WMMEarthMagneticFluxDensityEstimator

public class WMMEarthMagneticFluxDensityEstimator extends Object
Estimates Earth magnetic flux density resolved around NED frame at a given Earth location.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final double
    Semi-major axis of WGS-84 ellipsoid, in Km, squared.
    private final double
    a2 squared.
    static final double
    Guaranteed accuracy of estimated angles by the WMM during the valid timespan of a model.
    static final double
    Guaranteed accuracy of estimated angles by the WMM during the valid timespan of a model.
    private final double
    Semi-minor axis of WGS-84 ellipsoid, in Km, squared.
    private double
    The horizontal field intensity expressed in nano Teslas (nT)
    private double
    The north-south field intensity expressed in nano Teslas (nT).
    private double
    The east-west field intensity expressed in nano Teslas (nT).
    private double
    The vertical field intensity positive downward expressed in nano Teslas (nT)
    private final double
    The difference between the squared semi-axes.
    private final double
    The difference between a4 and b4 c4 = a4 - b4
    private double
    This is the cosine of the magnetic inclination at the magnetic pole.
    private static final String
    Coefficients file.
    private final double[]
    The cosine of (m*spherical coord. longitude).
    private double
    This is the cosine of the magnetic declination at the magnetic pole.
    private double
    Geomagnetic declination in degrees.
    private double
    Geomagnetic inclination in degrees.
    private final double[][]
    The theta derivative of p(n,m) (un-normalized).
    private static final double
    Converts to nanos.
    static final double
    Guaranteed accuracy of estimated magnetic flux density values by the WMM during the valid timespan of a model.
    private final WorldMagneticModel
    A World Magnetic Model containing all required coefficients.
    private static final int
    Number of coefficients.
    private Double
    Geodetic height (a.k.a. altitude) value used in the previous calculation.
    private Double
    Old geodetic latitude value used in previous calculation.
    private Double
    Old geodetic longitude value used in previous calculation.
    private Double
    Time value used in the previous calculation.
    private final double[]
    The associated Legendre polynomials for m=1 (un-normalized).
    private double
    This is the magnetic field strength at the magnetic pole.
    private static final double
    Mean radius of IAU-66 ellipsoid expressed in Km.
    private double
    This is the sine of the magnetic inclination at the magnetic pole.
    private final double[]
    The sine of (m*spherical coord. longitude).
    private double
    This is the sine of the magnetic declination at the magnetic pole.
    private final double[][]
    The time-adjusted geomagnetic gauss coefficients (nt).
    private double
    Geomagnetic total intensity expressed in nano Teslas (nT)
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    calcGeoMag(double latitude, double longitude, double height, double year)
    Computes the declination (dec), inclination (dip), total intensity (TI) and grid variation (GV - polar regions only, referenced to grid north of polar stereographic projection) of the Earth's magnetic field in geodetic coordinates from the coefficients of the current official department of defense (DoD) spherical harmonic World Magnetic Model (WMM-2010).
    private static double
    convertAngle(com.irurueta.units.Angle angle)
    Converts provided angle instance to radians.
    private static double
    convertDistance(com.irurueta.units.Distance distance)
    Converts provided distance to meters.
    static double
    Converts a time instant contained in a gregorian calendar to a decimal year.
    estimate(double latitude, double longitude)
    Estimates Earth magnetic flux density.
    estimate(double latitude, double longitude, double height, double year)
    Estimates Earth magnetic flux density.
    void
    estimate(double latitude, double longitude, double height, double year, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(double latitude, double longitude, double height, Date time)
    Estimates Earth magnetic flux density.
    void
    estimate(double latitude, double longitude, double height, Date time, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(double latitude, double longitude, double height, GregorianCalendar calendar)
    Estimates Earth magnetic flux density.
    void
    estimate(double latitude, double longitude, double height, GregorianCalendar calendar, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    void
    estimate(double latitude, double longitude, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(com.irurueta.navigation.frames.NEDPosition position, double year)
    Estimates Earth magnetic flux density.
    void
    estimate(com.irurueta.navigation.frames.NEDPosition position, double year, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Estimates Earth magnetic flux density.
    void
    estimate(com.irurueta.navigation.frames.NEDPosition position, Date time, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Estimates Earth magnetic flux density.
    void
    estimate(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Estimates Earth magnetic flux density.
    void
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Estimates Earth magnetic flux density.
    void
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Estimates Earth magnetic flux density.
    void
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Estimates Earth magnetic flux density.
    void
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar, NEDMagneticFluxDensity result)
    Estimates Earth magnetic flux density.
    double
    getDeclination(double latitude, double longitude)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(double latitude, double longitude, double height, double year)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(double latitude, double longitude, double height, Date time)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDeclination(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(double latitude, double longitude)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(double latitude, double longitude, double height, double year)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(double latitude, double longitude, double height, double year, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(double latitude, double longitude, double height, Date time)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(double latitude, double longitude, double height, Date time, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(double latitude, double longitude, double height, GregorianCalendar calendar, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(double latitude, double longitude, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, double year, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, Date time, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    void
    getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar, com.irurueta.units.Angle result)
    Returns the declination from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(double latitude, double longitude)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(double latitude, double longitude, double height, double year)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(double latitude, double longitude, double height, Date time)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getDip(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(double latitude, double longitude)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(double latitude, double longitude, double height, double year)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(double latitude, double longitude, double height, double year, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(double latitude, double longitude, double height, Date time)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(double latitude, double longitude, double height, Date time, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(double latitude, double longitude, double height, GregorianCalendar calendar, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(double latitude, double longitude, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, double year, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, Date time, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    com.irurueta.units.Angle
    getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    void
    getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar, com.irurueta.units.Angle result)
    Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
    double
    getEastIntensity(double latitude, double longitude)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(double latitude, double longitude, double height, double year)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(double latitude, double longitude, double height, Date time)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getEastIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
    double
    getHorizontalIntensity(double latitude, double longitude)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(double latitude, double longitude, double height, double year)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(double latitude, double longitude, double height, Date time)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getHorizontalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(double latitude, double longitude)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(double latitude, double longitude, double height, double year)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(double latitude, double longitude, double height, Date time)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    Gets World Magnetic Model containing all required coefficients.
    double
    getNorthIntensity(double latitude, double longitude)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(double latitude, double longitude, double height, double year)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(double latitude, double longitude, double height, Date time)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getNorthIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(double latitude, double longitude)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(double latitude, double longitude, double height, double year)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(double latitude, double longitude, double height, Date time)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
    double
    getVerticalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
    Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ANGLE_ACCURACY_DEGREES

      public static final double ANGLE_ACCURACY_DEGREES
      Guaranteed accuracy of estimated angles by the WMM during the valid timespan of a model. Accuracy is expressed in degrees and refers to estimated declination and dip angles.
      See Also:
    • ANGLE_ACCURACY_RADIANS

      public static final double ANGLE_ACCURACY_RADIANS
      Guaranteed accuracy of estimated angles by the WMM during the valid timespan of a model. Accuracy is expressed in radians and refers to estimated declination and dip angles.
    • INTENSITY_ACCURACY

      public static final double INTENSITY_ACCURACY
      Guaranteed accuracy of estimated magnetic flux density values by the WMM during the valid timespan of a model. This value refers to intensity norm, vertical intensity, horizontal intensity, north intensity and east intensity.
      See Also:
    • N

      private static final int N
      Number of coefficients.
      See Also:
    • COEFFICIENTS_FILE

      private static final String COEFFICIENTS_FILE
      Coefficients file.
      See Also:
    • RE_KM

      private static final double RE_KM
      Mean radius of IAU-66 ellipsoid expressed in Km.
      See Also:
    • FROM_NANO

      private static final double FROM_NANO
      Converts to nanos.
      See Also:
    • oldTime

      private Double oldTime
      Time value used in the previous calculation. This is used to save on calculation time if some inputs don't change. Old time is expressed in decimal years.
    • oldHeight

      private Double oldHeight
      Geodetic height (a.k.a. altitude) value used in the previous calculation. This is used to save on calculation time if some inputs don't change. Old height is expressed in Kilometers (Km).
    • oldLatitude

      private Double oldLatitude
      Old geodetic latitude value used in previous calculation. This is used to save on calculation time if some inputs don't change. Old latitude is expressed in degrees (deg).
    • oldLongitude

      private Double oldLongitude
      Old geodetic longitude value used in previous calculation. This is used to save on calculation time if some inputs don't change. Old longitude is expressed in degrees (deg).
    • dec

      private double dec
      Geomagnetic declination in degrees. East is positive, West is negative. (The negative of variation).
    • dip

      private double dip
      Geomagnetic inclination in degrees. Down is positive, up is negative.
    • ti

      private double ti
      Geomagnetic total intensity expressed in nano Teslas (nT)
    • model

      private final WorldMagneticModel model
      A World Magnetic Model containing all required coefficients.
    • tc

      private final double[][] tc
      The time-adjusted geomagnetic gauss coefficients (nt).
    • dp

      private final double[][] dp
      The theta derivative of p(n,m) (un-normalized).
    • sp

      private final double[] sp
      The sine of (m*spherical coord. longitude).
    • cp

      private final double[] cp
      The cosine of (m*spherical coord. longitude).
    • pp

      private final double[] pp
      The associated Legendre polynomials for m=1 (un-normalized).
    • bx

      private double bx
      The north-south field intensity expressed in nano Teslas (nT).
    • by

      private double by
      The east-west field intensity expressed in nano Teslas (nT).
    • bz

      private double bz
      The vertical field intensity positive downward expressed in nano Teslas (nT)
    • bh

      private double bh
      The horizontal field intensity expressed in nano Teslas (nT)
    • a2

      private final double a2
      Semi-major axis of WGS-84 ellipsoid, in Km, squared.
    • b2

      private final double b2
      Semi-minor axis of WGS-84 ellipsoid, in Km, squared.
    • c2

      private final double c2
      The difference between the squared semi-axes. c2 = a2 - b2
    • a4

      private final double a4
      a2 squared.
    • c4

      private final double c4
      The difference between a4 and b4 c4 = a4 - b4
    • r

      private double r
      This is the magnetic field strength at the magnetic pole.
    • ca

      private double ca
      This is the cosine of the magnetic inclination at the magnetic pole.
    • sa

      private double sa
      This is the sine of the magnetic inclination at the magnetic pole.
    • ct

      private double ct
      This is the cosine of the magnetic declination at the magnetic pole.
    • st

      private double st
      This is the sine of the magnetic declination at the magnetic pole.
  • Constructor Details

    • WMMEarthMagneticFluxDensityEstimator

      public WMMEarthMagneticFluxDensityEstimator() throws IOException
      Constructor.
      Throws:
      IOException - if an I/O error occurs while loading model coefficients.
    • WMMEarthMagneticFluxDensityEstimator

      public WMMEarthMagneticFluxDensityEstimator(WorldMagneticModel model)
      Constructor.
      Parameters:
      model - a World Magnetic Model.
      Throws:
      NullPointerException - if provided model is null.
  • Method Details

    • getModel

      public WorldMagneticModel getModel()
      Gets World Magnetic Model containing all required coefficients.
      Returns:
      World Magnetic Model.
    • getDeclination

      public double getDeclination(double latitude, double longitude)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(double latitude, double longitude, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(double latitude, double longitude)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      magnetic field declination.
    • getDeclination

      public double getDeclination(double latitude, double longitude, double height, double year)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(double latitude, double longitude, double height, Date time)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclination

      public double getDeclination(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      magnetic field declination expressed in radians.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(double latitude, double longitude, double height, double year, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(double latitude, double longitude, double height, double year)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(double latitude, double longitude, double height, GregorianCalendar calendar, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(double latitude, double longitude, double height, Date time, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(double latitude, double longitude, double height, Date time)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians.

      The magnetic heading + declination is the true heading of a device in terms of geographical north pole.

      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, double year, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field declination.
    • getDeclinationAsAngle

      public void getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, Date time, com.irurueta.units.Angle result)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      result - instance where magnetic field declination will be stored.
    • getDeclinationAsAngle

      public com.irurueta.units.Angle getDeclinationAsAngle(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the declination from the Department of Defense geomagnetic model and data, in radians. The magnetic heading + declination is the true heading of a device in terms of geographical north pole.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      magnetic field declination.
    • getDip

      public double getDip(double latitude, double longitude)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDipAsAngle

      public void getDipAsAngle(double latitude, double longitude, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(double latitude, double longitude)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      the magnetic field dip angle.
    • getDip

      public double getDip(double latitude, double longitude, double height, double year)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(double latitude, double longitude, double height, Date time)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDip

      public double getDip(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      the magnetic field dip angle expressed in radians.
    • getDipAsAngle

      public void getDipAsAngle(double latitude, double longitude, double height, double year, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(double latitude, double longitude, double height, double year)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(double latitude, double longitude, double height, GregorianCalendar calendar, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(double latitude, double longitude, double height, Date time, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(double latitude, double longitude, double height, Date time)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, double year, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      the magnetic field dip angle.
    • getDipAsAngle

      public void getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, Date time, com.irurueta.units.Angle result)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      result - instance where magnetic field dip angle will be stored.
    • getDipAsAngle

      public com.irurueta.units.Angle getDipAsAngle(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the magnetic field dip angle from the Department of Defense geomagnetic model and data, in radians.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      the magnetic field dip angle.
    • getIntensity

      public double getIntensity(double latitude, double longitude)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(double latitude, double longitude, double height, double year)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(double latitude, double longitude, double height, Date time)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getIntensity

      public double getIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(double latitude, double longitude)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(double latitude, double longitude, double height, double year)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(double latitude, double longitude, double height, Date time)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getHorizontalIntensity

      public double getHorizontalIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the horizontal magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      the horizontal magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(double latitude, double longitude)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(double latitude, double longitude, double height, double year)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(double latitude, double longitude, double height, Date time)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getVerticalIntensity

      public double getVerticalIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the vertical magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      the vertical magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(double latitude, double longitude)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(double latitude, double longitude, double height, double year)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(double latitude, double longitude, double height, Date time)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getNorthIntensity

      public double getNorthIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the northerly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      the northerly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(double latitude, double longitude)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(double latitude, double longitude, double height, double year)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(double latitude, double longitude, double height, GregorianCalendar calendar)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(double latitude, double longitude, double height, Date time)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(com.irurueta.navigation.frames.NEDPosition position, double year)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • getEastIntensity

      public double getEastIntensity(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Returns the easterly magnetic field intensity from the Department of Defense geomagnetic model and data expressed in nano Teslas.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      the easterly component of the magnetic field strength expressed in Teslas (T).
    • estimate

      public void estimate(double latitude, double longitude, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(double latitude, double longitude)
      Estimates Earth magnetic flux density. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude)
      Estimates Earth magnetic flux density. This method uses default altitude (0.0 - mean sea level) and time (half way through the valid 5 year period of the model).
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(double latitude, double longitude, double height, double year, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(double latitude, double longitude, double height, double year)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      year - year expressed in decimal years.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(double latitude, double longitude, double height, GregorianCalendar calendar, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(double latitude, double longitude, double height, GregorianCalendar calendar)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      calendar - a calendar containing a specific instant.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(double latitude, double longitude, double height, Date time, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(double latitude, double longitude, double height, Date time)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude expressed in radians.
      longitude - longitude expressed in radians.
      height - height expressed in meters.
      time - a specific time instant.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, double year)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      year - year expressed in decimal years.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, GregorianCalendar calendar)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      calendar - a calendar containing a specific instant.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Angle longitude, com.irurueta.units.Distance height, Date time)
      Estimates Earth magnetic flux density.
      Parameters:
      latitude - latitude angle.
      longitude - longitude angle.
      height - height.
      time - a specific time instant.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(com.irurueta.navigation.frames.NEDPosition position, double year, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(com.irurueta.navigation.frames.NEDPosition position, double year)
      Estimates Earth magnetic flux density.
      Parameters:
      position - a position expressed in geodetic coordinates.
      year - year expressed in decimal years.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(com.irurueta.navigation.frames.NEDPosition position, GregorianCalendar calendar)
      Estimates Earth magnetic flux density.
      Parameters:
      position - a position expressed in geodetic coordinates.
      calendar - a calendar containing a specific instant.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • estimate

      public void estimate(com.irurueta.navigation.frames.NEDPosition position, Date time, NEDMagneticFluxDensity result)
      Estimates Earth magnetic flux density.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      result - instance where magnetic flux will be stored resolved around NED frame.
    • estimate

      public NEDMagneticFluxDensity estimate(com.irurueta.navigation.frames.NEDPosition position, Date time)
      Estimates Earth magnetic flux density.
      Parameters:
      position - a position expressed in geodetic coordinates.
      time - a specific time instant.
      Returns:
      Earth magnetic flux density resolved around NED frame.
    • convertTime

      public static double convertTime(GregorianCalendar calendar)
      Converts a time instant contained in a gregorian calendar to a decimal year.
      Parameters:
      calendar - calendar containing a specific instant to be converted.
      Returns:
      converted value expressed in decimal years.
    • calcGeoMag

      private void calcGeoMag(double latitude, double longitude, double height, double year)
      Computes the declination (dec), inclination (dip), total intensity (TI) and grid variation (GV - polar regions only, referenced to grid north of polar stereographic projection) of the Earth's magnetic field in geodetic coordinates from the coefficients of the current official department of defense (DoD) spherical harmonic World Magnetic Model (WMM-2010). The WMM series of models is updated every 5 years on January 1st of those years which are divisible by 5 (i.e. 1980, 1985, 1990, etc.) by the Naval Oceanographic Office in cooperation with the British Geological Survey (BGS). The model is based on geomagnetic survey measurements from aircraft, satellite and geomagnetic observatories.

      Accuracy: In ocean areas at the Earth's surface over the entire 5 year life of a degree and order 12 spherical harmonic model such as WMM-95, the estimated RMS errors for the various magnetic components are: DEC - 0.5 degrees DIP - 0.5 degrees TI - 200.0 nano Teslas (nT) GV - 0.5 Degrees

      Other magnetic components that can be derived from these four by simple trigonometric relations will have the following approximate errors over ocean areas: X - 140 nT (North) Y - 140 nT (East) Z - 200 nT (Vertical) Positive is down H - 200 nT (Horizontal)

      Over land the RMS errors are expected to be somewhat higher, although the RMS errors for DEC, DIP and GV are still estimated to be less than 0.5 degree, for the entire 5-year life of the model at the Earth's surface. The other component errors over land are more difficult to estimate and so are not given.

      The accuracy at any given time of all four geomagnetic parameters depends on the geomagnetic latitude. The errors are least at the equator and greatest at the magnetic poles.

      It is very important to note that a degree and order 12 model, such as WMM-2010 describes only the long wavelength spatial magnetic fluctuations due to Earth's core. Not included in the WMM series models are intermediate and short wavelength spatial fluctuations of the geomagnetic field which originate in the Earth's mantle and crust. Consequently, isolated angular errors at various positions on the surface (primarily over land, in continental margins and over oceanic seamounts, ridges and trenches) of several degrees may be expected. Also not included in the model are nonsecular temporal fluctuations of the geomagnetic field of magneto-spheric and ionospheric origin. During magnetic storms, temporal fluctuations can cause substantial deviations of the geomagnetic field from model values. In arctic and antarctic regions, as well as in equatorial regions, deviations from model values are both frequent and persistent.

      If the required declination accuracy is more stringent than the WMM series of models provide, then the user is advised to request special (regional or local) surveys be performed and models prepared by the USGS, which operates the US geomagnetic observatories.

      Parameters:
      latitude - the latitude in decimal degrees.
      longitude - the longitude in decimal degrees.
      height - the height (altitude) in kilometers.
      year - the date as a decimal year.
    • convertAngle

      private static double convertAngle(com.irurueta.units.Angle angle)
      Converts provided angle instance to radians.
      Parameters:
      angle - angle to be converted.
      Returns:
      converted value expressed in radians.
    • convertDistance

      private static double convertDistance(com.irurueta.units.Distance distance)
      Converts provided distance to meters.
      Parameters:
      distance - distance to be converted.
      Returns:
      converted value expressed in meters.