Azimuthal Equidistant Projection. More...
#include <GeographicLib/AzimuthalEquidistant.hpp>
Public Member Functions | |
AzimuthalEquidistant (const Geodesic &earth=Geodesic::WGS84) throw () | |
void | Forward (real lat0, real lon0, real lat, real lon, real &x, real &y, real &azi, real &rk) const throw () |
void | Reverse (real lat0, real lon0, real x, real y, real &lat, real &lon, real &azi, real &rk) const throw () |
Math::real | MajorRadius () const throw () |
Math::real | InverseFlattening () const throw () |
Azimuthal Equidistant Projection.
Azimuthal equidistant projection centered at an arbitrary position on the ellipsoid. For a point in projected space (x, y), the geodesic distance from the center position is hypot(x, y) and the azimuth of the geodesic from the center point is atan2(x, y). The Forward and Reverse methods also return the azimuth azi of the geodesic at (x, y) and reciprocal scale rk in the azimuthal direction which, together with the basic properties of the projection, serve to specify completely the local affine transformation between geographic and projected coordinates.
The conversions all take place using a GeographicLib::Geodesic object (by default GeographicLib::Geodesic::WGS84). For more information on geodesics see Geodesics on the Ellipsoid.
Definition at line 36 of file AzimuthalEquidistant.hpp.
GeographicLib::AzimuthalEquidistant::AzimuthalEquidistant | ( | const Geodesic & | earth = Geodesic::WGS84 |
) | throw () [inline, explicit] |
Constructor for AzimuthalEquidistant setting the Geodesic object to use for geodesic calculations. By default this uses the WGS84 ellipsoid.
Definition at line 47 of file AzimuthalEquidistant.hpp.
void GeographicLib::AzimuthalEquidistant::Forward | ( | real | lat0, | |
real | lon0, | |||
real | lat, | |||
real | lon, | |||
real & | x, | |||
real & | y, | |||
real & | azi, | |||
real & | rk | |||
) | const throw () |
Convert from latitude lat (degrees) and longitude lon (degrees) to azimuthal equidistant easting x (meters) and northing y (meters). The center of the projection is at latitude lat0 (degrees) and longitude lon0 (degrees). Also return the azimuth azi (degrees) and the reciprocal of the azimuthal scale rk. lat0 and lat should be in the range [-90, 90] and lon0 and lon should be in the range [-180, 360]. The scale of the projection is 1 in the "radial" direction, azi clockwise from true north, and is 1/rk in the direction perpendicular to this. A call to Forward followed by a call to Reverse will return the original (lat, lon) (to within roundoff).
Definition at line 24 of file AzimuthalEquidistant.cpp.
void GeographicLib::AzimuthalEquidistant::Reverse | ( | real | lat0, | |
real | lon0, | |||
real | x, | |||
real | y, | |||
real & | lat, | |||
real & | lon, | |||
real & | azi, | |||
real & | rk | |||
) | const throw () |
Convert from azimuthal equidistant easting x (meters) and northing y (meters) to latitude lat (degrees) and longitude lon (degrees). The center of the projection is at latitude lat0 (degrees) and longitude lon0 (degrees). Also return the azimuth azi (degrees) and the reciprocal of the azimuthal scale rk. lat0 should be in the range [-90, 90] and lon0 should be in the range [-180, 360]. lat will be in the range [-90, 90] and lon will be in the range [-180, 180). The scale of the projection is 1 in the "radial" direction, azi clockwise from true north, and is 1/rk in the direction perpendicular to this. A call to Reverse followed by a call to Forward will return the original (x, y) (to roundoff) only if the geodesic to (x, y) is a shortest path.
Definition at line 35 of file AzimuthalEquidistant.cpp.
Math::real GeographicLib::AzimuthalEquidistant::MajorRadius | ( | ) | const throw () [inline] |
The major radius of the ellipsoid (meters). This is that value of a inherited from the Geodesic object used in the constructor.
Definition at line 87 of file AzimuthalEquidistant.hpp.
References GeographicLib::Geodesic::MajorRadius().
Math::real GeographicLib::AzimuthalEquidistant::InverseFlattening | ( | ) | const throw () [inline] |
The inverse flattening of the ellipsoid. This is that value of r inherited from the Geodesic object used in the constructor. A value of 0 is returned for a sphere (infinite inverse flattening).
Definition at line 94 of file AzimuthalEquidistant.hpp.
References GeographicLib::Geodesic::InverseFlattening().