template<class DATUM>
eckit::geometry::SphereT struct

Definition of a sphere parametrised with a geodetic datum.

Public static functions

static auto radius() -> double
Sphere radius in metres.
static auto centralAngle(const Point2& Alonlat, const Point2& Blonlat, bool normalise_angle = false) -> double
Great-circle central angle between two points (longitude/latitude coordinates) in radians.
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 Point2& Alonlat, const Point2& Blonlat) -> double
Great-circle distance between two points (longitude/latitude coordinates) in metres.
static auto distance(const Point3& A, const Point3& B) -> double
Great-circle distance between two points (Cartesian coordinates) in metres.
static auto area() -> double
Surface area in square metres.
static auto area(const Point2& WestNorth, const Point2& EastSouth) -> double
static auto greatCircleLatitudeGivenLongitude(const Point2& Alonlat, const Point2& Blonlat, const double& Clon) -> double
static void greatCircleLongitudeGivenLatitude(const Point2& Alonlat, const Point2& Blonlat, const double& Clat, double& Clon1, double& Clon2)
static void convertSphericalToCartesian(const Point2& Alonlat, Point3& B, double height = 0., bool normalise_angle = false)
static void convertCartesianToSpherical(const Point3& A, Point2& Blonlat)

Function documentation

template<class DATUM>
static double eckit::geometry::SphereT<DATUM>::area(const Point2& WestNorth, const Point2& EastSouth)

Surface area between parallels and meridians defined by two points (longitude/latitude coordinates) in square metres