template<class DATUM>
eckit::geo::figure::SphereT class

Sphere parametrised with a geodetic datum.

Base classes

class eckit::geo::Figure
Figure: describe a combination of "shape" (sphere, ellipsoid, geoid) and "size" (radius, a, b, elevation)

Public types

using builder_t = BuilderT0<Figure>

Public static functions

static auto _radius() -> double
Sphere radius.
static auto _centralAngle(const PointLonLat& A, const PointLonLat& B) -> double
Great-circle central angle between two points [radian].
static auto _centralAngle(const PointXYZ& A, const PointXYZ& 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.
static auto _distance(const PointXYZ& A, const PointXYZ& B) -> double
Great-circle distance between two points (Cartesian coordinates)
static auto _area() -> double
Surface area [L^2].
static auto _area(const area::BoundingBox& bbox) -> double
Surface area between parallels and meridians [L^2].
static auto _convertSphericalToCartesian(const PointLonLat& P, double height = 0.) -> PointXYZ
Convert spherical to Cartesian coordinates.
static auto _convertCartesianToSpherical(const PointXYZ& P) -> PointLonLat
Convert Cartesian to spherical coordinates.
static auto className() -> std::string

Constructors, destructors, conversion operators

SphereT() defaulted

Public functions

auto R() const -> double override
auto a() const -> double override
auto b() const -> double override
auto area() const -> double override
Surface area [L^2].
auto area(const area::BoundingBox& bbox) -> double override
Surface area between parallels and meridians [L^2].
auto spec() const -> spec::Custom*
auto spec_str() const -> std::string
auto proj_str() const -> std::string
auto eccentricity() const -> double
auto flattening() const -> double

Typedef documentation

template<class DATUM>
using eckit::geo::figure::SphereT<DATUM>::builder_t = BuilderT0<Figure>

Function documentation

template<class DATUM>
static std::string eckit::geo::figure::SphereT<DATUM>::className()

template<class DATUM>
spec::Custom* eckit::geo::figure::SphereT<DATUM>::spec() const

template<class DATUM>
std::string eckit::geo::figure::SphereT<DATUM>::spec_str() const

template<class DATUM>
std::string eckit::geo::figure::SphereT<DATUM>::proj_str() const

template<class DATUM>
double eckit::geo::figure::SphereT<DATUM>::eccentricity() const

template<class DATUM>
double eckit::geo::figure::SphereT<DATUM>::flattening() const

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.