Polar Stereographic Projection. More...
#include <GeographicLib/PolarStereographic.hpp>
Public Member Functions | |
PolarStereographic (real a, real r, real k0) | |
void | SetScale (real lat, real k=real(1)) |
void | Forward (bool northp, real lat, real lon, real &x, real &y, real &gamma, real &k) const throw () |
void | Reverse (bool northp, real x, real y, real &lat, real &lon, real &gamma, real &k) const throw () |
Math::real | MajorRadius () const throw () |
Math::real | InverseFlattening () const throw () |
Math::real | CentralScale () const throw () |
Static Public Attributes | |
static const PolarStereographic | UPS |
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.
Definition at line 29 of file PolarStereographic.hpp.
GeographicLib::PolarStereographic::PolarStereographic | ( | real | a, | |
real | r, | |||
real | k0 | |||
) |
Constructor for a ellipsoid radius a (meters), reciprocal flattening r, and central scale factor k0. Setting r <= 0 implies r = inf or flattening = 0 (i.e., a sphere). An exception is thrown if a or k0 is not positive.
Definition at line 24 of file PolarStereographic.cpp.
void GeographicLib::PolarStereographic::SetScale | ( | real | lat, | |
real | k = real(1) | |||
) |
Alter the scale for the projection so that on latitude lat, the scale is k (default 1). lat is interpreted in the context a projection centered at the north pole. The allows a "latitude of true scale" to be specified. An exception is thrown if k is not positive.
Definition at line 98 of file PolarStereographic.cpp.
References Forward().
void GeographicLib::PolarStereographic::Forward | ( | bool | northp, | |
real | lat, | |||
real | lon, | |||
real & | x, | |||
real & | y, | |||
real & | gamma, | |||
real & | k | |||
) | const throw () |
Convert from latitude lat (degrees) and longitude lon (degrees) to polar stereographic easting x (meters) and northing y (meters). The projection is about the pole given by northp (false means south, true means north). Also return the meridian convergence gamma (degrees) and the scale k. 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; lon should be in the range [-180, 360].
Definition at line 45 of file PolarStereographic.cpp.
References GeographicLib::Constants::degree().
Referenced by GeographicLib::UTMUPS::Forward(), and SetScale().
void GeographicLib::PolarStereographic::Reverse | ( | bool | northp, | |
real | x, | |||
real | y, | |||
real & | lat, | |||
real & | lon, | |||
real & | gamma, | |||
real & | k | |||
) | const throw () |
Convert from polar stereogrphic easting x (meters) and northing y (meters) to latitude lat (degrees) and longitude lon (degrees) . The hemisphere is given by northp (false means south, true means north). Also return the meridian convergence gamma (degrees) and the scale k. No false easting or northing is added. The value of lon returned is in the range [-180, 180).
Definition at line 67 of file PolarStereographic.cpp.
References GeographicLib::Constants::degree(), and GeographicLib::Math::hypot().
Referenced by GeographicLib::UTMUPS::Reverse().
Math::real GeographicLib::PolarStereographic::MajorRadius | ( | ) | const throw () [inline] |
The major radius of the ellipsoid (meters). This is that value of a used in the constructor.
Definition at line 88 of file PolarStereographic.hpp.
Math::real GeographicLib::PolarStereographic::InverseFlattening | ( | ) | const throw () [inline] |
The inverse flattening of the ellipsoid. This is that value of r used in the constructor. A value of 0 is returned for a sphere (infinite inverse flattening).
Definition at line 95 of file PolarStereographic.hpp.
Math::real GeographicLib::PolarStereographic::CentralScale | ( | ) | const throw () [inline] |
The central scale for the projection. This is that value of k0 used in the constructor and is the scale at the pole.
Definition at line 101 of file PolarStereographic.hpp.
const PolarStereographic GeographicLib::PolarStereographic::UPS [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 108 of file PolarStereographic.hpp.
Referenced by GeographicLib::UTMUPS::Forward(), and GeographicLib::UTMUPS::Reverse().