GeographicLib: GeographicLib::DAuxLatitude Class Reference (original) (raw)

Divided differences of auxiliary latitudes. More...

#include <[GeographicLib/DAuxLatitude.hpp](DAuxLatitude%5F8hpp%5Fsource.html)>

Public Member Functions
DAuxLatitude (real a, real f)
Math::real DConvert (int auxin, int auxout, const AuxAngle &zeta1, const AuxAngle &zeta2) const
Math::real DParametric (const AuxAngle &phi1, const AuxAngle &phi2) const
Math::real DRectifying (const AuxAngle &phi1, const AuxAngle &phi2) const
Math::real DIsometric (const AuxAngle &phi1, const AuxAngle &phi2) const
- Public Member Functions inherited from GeographicLib::AuxLatitude
AuxLatitude (real a, real f)
AuxAngle Convert (int auxin, int auxout, const AuxAngle &zeta, bool exact=false) const
Math::real Convert (int auxin, int auxout, real zeta, bool exact=false) const
AuxAngle ToAuxiliary (int auxout, const AuxAngle &phi, real *diff=nullptr) const
AuxAngle FromAuxiliary (int auxin, const AuxAngle &zeta, int *niter=nullptr) const
Math::real RectifyingRadius (bool exact=false) const
Math::real AuthalicRadiusSquared (bool exact=false) const
Math::real EquatorialRadius () const
Math::real PolarSemiAxis () const
Math::real Flattening () const
Static Public Member Functions
static Math::real DClenshaw (bool sinp, real Delta, real szeta1, real czeta1, real szeta2, real czeta2, const real c[], int K)
static Math::real Dlam (real x, real y)
static Math::real Dp0Dpsi (real x, real y)
- Static Public Member Functions inherited from GeographicLib::AuxLatitude
static AuxLatitude axes (real a, real b)
static Math::real Clenshaw (bool sinp, real szeta, real czeta, const real c[], int K)
static const AuxLatitude & WGS84 ()
Additional Inherited Members
- Public Types inherited from GeographicLib::AuxLatitude
enum aux { GEOGRAPHIC, PARAMETRIC, GEOCENTRIC, RECTIFYING, CONFORMAL, AUTHALIC, AUXNUMBER, PHI, BETA, THETA, MU, CHI, XI, COMMON, GEODETIC, REDUCED }
- Static Public Attributes inherited from GeographicLib::AuxLatitude
static const int Lmax
- Protected Member Functions inherited from GeographicLib::AuxLatitude
AuxAngle Parametric (const AuxAngle &phi, real *diff=nullptr) const
AuxAngle Geocentric (const AuxAngle &phi, real *diff=nullptr) const
AuxAngle Rectifying (const AuxAngle &phi, real *diff=nullptr) const
AuxAngle Conformal (const AuxAngle &phi, real *diff=nullptr) const
AuxAngle Authalic (const AuxAngle &phi, real *diff=nullptr) const

Divided differences of auxiliary latitudes.

This class computed the divided differences of auxiliary latitudes and some other divided differences needed to support rhumb line calculations.

Definition at line 23 of file DAuxLatitude.hpp.

GeographicLib::DAuxLatitude::DAuxLatitude ( real a, real f ) inline

Constructor

Parameters

[in] a equatorial radius.
[in] f flattening of ellipsoid. Setting f = 0 gives a sphere. Negative f gives a prolate ellipsoid.

Exceptions

Definition at line 37 of file DAuxLatitude.hpp.

DConvert()

DParametric()

The divided difference of the parametric latitude with respect to the geographic latitude.

Parameters

[in] phi1 the first geographic latitude as an AuxAngle.
[in] phi2 the second geographic latitude as an AuxAngle.

Returns

the divided difference (beta2 - beta1) / (phi2 - phi1), where beta is the parametric latitude.

Note

This routine uses the exact formulas and is valid for arbitrary latitude.

Definition at line 46 of file DAuxLatitude.cpp.

References GeographicLib::AuxAngle::tan().

Referenced by DRectifying().

DRectifying()

DIsometric()

DClenshaw()

Math::real GeographicLib::DAuxLatitude::DClenshaw ( bool sinp, real Delta, real szeta1, real czeta1, real szeta2, real czeta2, const real _c_[], int K ) static

The divided difference of AuxLatitude::Clenshaw.

Parameters

[in] sinp if true sum the sine series, else sum the cosine series.
[in] Delta either 1 or (zeta2 - zeta1) in radians.
[in] szeta1 sin(zeta1).
[in] czeta1 cos(zeta1).
[in] szeta2 sin(zeta2).
[in] czeta2 cos(zeta2).
[in] c the array of coefficients.
[in] K the number of coefficients.

Returns

the divided difference.

The result is

( AuxLatitude::Clenshaw(sinp, szeta2, czeta2, c, K) - AuxLatitude::Clenshaw(sinp, szeta1, czeta1, c, K) ) / Delta

Warning

Delta must be either 1 or (zeta2 - zeta1); other values will return nonsense.

Definition at line 211 of file DAuxLatitude.cpp.

Referenced by DConvert().

Dlam()

static Math::real GeographicLib::DAuxLatitude::Dlam ( real x, real y ) inlinestatic

The divided difference of the isometric latitude with respect to the conformal latitude.

Parameters

[in] x tan(chi1).
[in] y tan(chi2).

Returns

the divided difference (psi2 - psi1) / (chi2 - chi1), where psi = asinh( tan(chi) ).

Note

This parameters for this routine are the tangents of conformal latitude.

This routine computes Dasinh(x, y) / Datan(x, y).

Definition at line 144 of file DAuxLatitude.hpp.

Referenced by GeographicLib::Rhumb::GenInverse(), and GeographicLib::RhumbLine::GenPosition().

Dp0Dpsi()

static Math::real GeographicLib::DAuxLatitude::Dp0Dpsi ( real x, real y ) inlinestatic

The divided difference of the spherical rhumb area term with respect to the isometric latitude.

Parameters

[in] x tan(chi1).
[in] y tan(chi2).

Returns

the divided difference (p0(chi2) - p0(chi1)) / (psi2 - psi1), where p0(chi) = log( sec(chi) ) and psi = asinh( tan(chi) ).

Note

This parameters for this routine are the tangents of conformal latitude.

Definition at line 165 of file DAuxLatitude.hpp.


The documentation for this class was generated from the following files: