.NET wrapper for GeographicLib::AzimuthalEquidistant. More...
#include <AzimuthalEquidistant.h>
Public Member Functions | |
AzimuthalEquidistant (Geodesic^ earth) | |
AzimuthalEquidistant (void) | |
void | Forward (double lat0, double lon0, double lat, double lon, [System::Runtime::InteropServices::Out] double% x, [System::Runtime::InteropServices::Out] double% y) |
void | Forward (double lat0, double lon0, double lat, double lon, [System::Runtime::InteropServices::Out] double% x, [System::Runtime::InteropServices::Out] double% y, [System::Runtime::InteropServices::Out] double% azi, [System::Runtime::InteropServices::Out] double% rk) |
void | Reverse (double lat0, double lon0, double x, double y, [System::Runtime::InteropServices::Out] double% lat, [System::Runtime::InteropServices::Out] double% lon) |
void | Reverse (double lat0, double lon0, double x, double y, [System::Runtime::InteropServices::Out] double% lat, [System::Runtime::InteropServices::Out] double% lon, [System::Runtime::InteropServices::Out] double% azi, [System::Runtime::InteropServices::Out] double% rk) |
~AzimuthalEquidistant () | |
Public Attributes | |
Inspector functions | |
property double | MajorRadius { double get() |
property double | Flattening { double get() |
Private Member Functions | |
!AzimuthalEquidistant () | |
Private Attributes | |
const GeographicLib::AzimuthalEquidistant * | m_pAzimuthalEquidistant |
.NET wrapper for GeographicLib::AzimuthalEquidistant.
This class allows .NET applications to access GeographicLib::AzimuthalEquidistant.
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 Geodesic object (by default Geodesic::WGS84). For more information on geodesics see geodesic.
C# Example:
Managed C++ Example:
Visual Basic Example:
INTERFACE DIFFERENCES:
A default constructor is provided that assumes a WGS84 ellipsoid.
The MajorRadius and Flattening functions are implemented as properties.
Definition at line 47 of file AzimuthalEquidistant.h.
|
private |
Definition at line 21 of file dotnet/NETGeographicLib/AzimuthalEquidistant.cpp.
AzimuthalEquidistant::AzimuthalEquidistant | ( | void | ) |
Default Constructor for AzimuthalEquidistant. Assumes WGS84 Geodesic
Definition at line 31 of file dotnet/NETGeographicLib/AzimuthalEquidistant.cpp.
AzimuthalEquidistant::AzimuthalEquidistant | ( | Geodesic^ | earth | ) |
Constructor for AzimuthalEquidistant.
[in] | earth | the Geodesic object to use for geodesic calculations. |
Definition at line 44 of file dotnet/NETGeographicLib/AzimuthalEquidistant.cpp.
|
inline |
void AzimuthalEquidistant::Forward | ( | double | lat0, |
double | lon0, | ||
double | lat, | ||
double | lon, | ||
[System::Runtime::InteropServices::Out] double% | x, | ||
[System::Runtime::InteropServices::Out] double% | y | ||
) |
AzimuthalEquidistant::Forward without returning the azimuth and scale.
Definition at line 85 of file dotnet/NETGeographicLib/AzimuthalEquidistant.cpp.
void AzimuthalEquidistant::Forward | ( | double | lat0, |
double | lon0, | ||
double | lat, | ||
double | lon, | ||
[System::Runtime::InteropServices::Out] double% | x, | ||
[System::Runtime::InteropServices::Out] double% | y, | ||
[System::Runtime::InteropServices::Out] double% | azi, | ||
[System::Runtime::InteropServices::Out] double% | rk | ||
) |
Forward projection, from geographic to azimuthal equidistant.
[in] | lat0 | latitude of center point of projection (degrees). |
[in] | lon0 | longitude of center point of projection (degrees). |
[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] | azi | azimuth of geodesic at point (degrees). |
[out] | rk | reciprocal of azimuthal scale at point. |
lat0 and lat should be in the range [−90°, 90°]. 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 60 of file dotnet/NETGeographicLib/AzimuthalEquidistant.cpp.
void AzimuthalEquidistant::Reverse | ( | double | lat0, |
double | lon0, | ||
double | x, | ||
double | y, | ||
[System::Runtime::InteropServices::Out] double% | lat, | ||
[System::Runtime::InteropServices::Out] double% | lon | ||
) |
AzimuthalEquidistant::Reverse without returning the azimuth and scale.
Definition at line 95 of file dotnet/NETGeographicLib/AzimuthalEquidistant.cpp.
void AzimuthalEquidistant::Reverse | ( | double | lat0, |
double | lon0, | ||
double | x, | ||
double | y, | ||
[System::Runtime::InteropServices::Out] double% | lat, | ||
[System::Runtime::InteropServices::Out] double% | lon, | ||
[System::Runtime::InteropServices::Out] double% | azi, | ||
[System::Runtime::InteropServices::Out] double% | rk | ||
) |
Reverse projection, from azimuthal equidistant to geographic.
[in] | lat0 | latitude of center point of projection (degrees). |
[in] | lon0 | longitude of center point of projection (degrees). |
[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] | azi | azimuth of geodesic at point (degrees). |
[out] | rk | reciprocal of azimuthal scale at point. |
lat0 should be in the range [−90°, 90°]. 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 73 of file dotnet/NETGeographicLib/AzimuthalEquidistant.cpp.
property double NETGeographicLib::AzimuthalEquidistant::Flattening { double get() |
Definition at line 156 of file AzimuthalEquidistant.h.
|
private |
Definition at line 51 of file AzimuthalEquidistant.h.
property double NETGeographicLib::AzimuthalEquidistant::MajorRadius { double get() |
Definition at line 150 of file AzimuthalEquidistant.h.