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 |
![]() |
|
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 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 | |
---|---|
![]() |
|
enum | aux { GEOGRAPHIC, PARAMETRIC, GEOCENTRIC, RECTIFYING, CONFORMAL, AUTHALIC, AUXNUMBER, PHI, BETA, THETA, MU, CHI, XI, COMMON, GEODETIC, REDUCED } |
![]() |
|
static const int | Lmax |
![]() |
|
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: