Polar stereographic projection. More...
#include <PolarStereographic.hpp>
Public Member Functions | |
void | Forward (bool northp, real lat, real lon, real &x, real &y, real &gamma, real &k) const |
void | Forward (bool northp, real lat, real lon, real &x, real &y) const |
PolarStereographic (real a, real f, real k0) | |
void | Reverse (bool northp, real x, real y, real &lat, real &lon, real &gamma, real &k) const |
void | Reverse (bool northp, real x, real y, real &lat, real &lon) const |
void | SetScale (real lat, real k=real(1)) |
Inspector functions | |
Math::real | MajorRadius () const |
Math::real | Flattening () const |
Math::real | CentralScale () const |
Static Public Member Functions | |
static const PolarStereographic & | UPS () |
Private Types | |
typedef Math::real | real |
Private Attributes | |
real | _a |
real | _c |
real | _e2 |
real | _e2m |
real | _es |
real | _f |
real | _k0 |
Polar stereographic projection.
Implementation taken from the report,
This is a straightforward implementation of the equations in Snyder except that Newton's method is used to invert the projection.
This class also returns the meridian convergence gamma and scale k. The meridian convergence is the bearing of grid north (the y axis) measured clockwise from true north.
Example of use:
Definition at line 36 of file PolarStereographic.hpp.
|
private |
Definition at line 38 of file PolarStereographic.hpp.
Constructor for a ellipsoid with
[in] | a | equatorial radius (meters). |
[in] | f | flattening of ellipsoid. Setting f = 0 gives a sphere. Negative f gives a prolate ellipsoid. |
[in] | k0 | central scale factor. |
GeographicErr | if a, (1 − f) a, or k0 is not positive. |
Definition at line 16 of file src/PolarStereographic.cpp.
|
inline |
The central scale for the projection. This is the value of k0 used in the constructor and is the scale at the pole unless overridden by PolarStereographic::SetScale.
Definition at line 141 of file PolarStereographic.hpp.
|
inline |
Definition at line 134 of file PolarStereographic.hpp.
void GeographicLib::PolarStereographic::Forward | ( | bool | northp, |
real | lat, | ||
real | lon, | ||
real & | x, | ||
real & | y, | ||
real & | gamma, | ||
real & | k | ||
) | const |
Forward projection, from geographic to polar stereographic.
[in] | northp | the pole which is the center of projection (true means north, false means south). |
[in] | lat | latitude of point (degrees). |
[in] | lon | longitude of point (degrees). |
[out] | x | easting of point (meters). |
[out] | y | northing of point (meters). |
[out] | gamma | meridian convergence at point (degrees). |
[out] | k | scale of projection at point. |
No false easting or northing is added. lat should be in the range (−90°, 90°] for northp = true and in the range [−90°, 90°) for northp = false.
Definition at line 61 of file src/PolarStereographic.cpp.
|
inline |
PolarStereographic::Forward without returning the convergence and scale.
Definition at line 106 of file PolarStereographic.hpp.
|
inline |
Definition at line 128 of file PolarStereographic.hpp.
void GeographicLib::PolarStereographic::Reverse | ( | bool | northp, |
real | x, | ||
real | y, | ||
real & | lat, | ||
real & | lon, | ||
real & | gamma, | ||
real & | k | ||
) | const |
Reverse projection, from polar stereographic to geographic.
[in] | northp | the pole which is the center of projection (true means north, false means south). |
[in] | x | easting of point (meters). |
[in] | y | northing of point (meters). |
[out] | lat | latitude of point (degrees). |
[out] | lon | longitude of point (degrees). |
[out] | gamma | meridian convergence at point (degrees). |
[out] | k | scale of projection at point. |
No false easting or northing is added. The value of lon returned is in the range [−180°, 180°].
Definition at line 81 of file src/PolarStereographic.cpp.
|
inline |
PolarStereographic::Reverse without returning the convergence and scale.
Definition at line 115 of file PolarStereographic.hpp.
Set the scale for the projection.
[in] | lat | (degrees) assuming northp = true. |
[in] | k | scale at latitude lat (default 1). |
GeographicErr | k is not positive. |
GeographicErr | if lat is not in (−90°, 90°]. |
Definition at line 98 of file src/PolarStereographic.cpp.
|
static |
A global instantiation of PolarStereographic with the WGS84 ellipsoid and the UPS scale factor. However, unlike UPS, no false easting or northing is added.
Definition at line 33 of file src/PolarStereographic.cpp.
|
private |
Definition at line 39 of file PolarStereographic.hpp.
|
private |
Definition at line 39 of file PolarStereographic.hpp.
|
private |
Definition at line 39 of file PolarStereographic.hpp.
|
private |
Definition at line 39 of file PolarStereographic.hpp.
|
private |
Definition at line 39 of file PolarStereographic.hpp.
|
private |
Definition at line 39 of file PolarStereographic.hpp.
|
private |
Definition at line 40 of file PolarStereographic.hpp.