#include <eckit/geo/geometry/SphereT.h>
template<class DATUM>
SphereT struct
Sphere parametrised with a geodetic datum.
Public static functions
- static auto radius() -> double
- Sphere radius in metres.
- static auto centralAngle(const PointLonLat& A, const PointLonLat& B) -> double
- Great-circle central angle between two points [radian].
- static auto centralAngle(const Point3& A, const Point3& B) -> double
- Great-circle central angle between two points (Cartesian coordinates) in radians.
- static auto distance(const PointLonLat& A, const PointLonLat& B) -> double
- Great-circle distance between two points [m].
- static auto distance(const Point3& A, const Point3& B) -> double
- Great-circle distance between two points (Cartesian coordinates) [m].
- static auto area() -> double
- Surface area [m ** 2].
-
static auto area(const area::
BoundingBox& bbox) -> double - Surface area between parallels and meridians [m ** 2].
- static auto greatCircleLatitudeGivenLongitude(const PointLonLat& A, const PointLonLat& B, double lon) -> double
- Great-circle intermediate latitude provided two circle points and intermediate longitude [degree].
- static void greatCircleLongitudeGivenLatitude(const PointLonLat& A, const PointLonLat& B, double lat, double& lon1, double& lon2)
- Great-circle intermediate longitude(s) provided two circle points and intermediate latitude [degree].
- static auto convertSphericalToCartesian(const PointLonLat& P, double height = 0.) -> Point3
- Convert spherical to Cartesian coordinates.
- static auto convertCartesianToSpherical(const Point3& P) -> PointLonLat
- Convert Cartesian to spherical coordinates.