eckit::geo::figure::Sphere class

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 centralAngle(const PointLonLat&, const PointLonLat&) -> double
Great-circle central angle between two points [radian].
static auto centralAngle(double radius, const PointXYZ&, const PointXYZ&) -> double
Great-circle central angle between two points (Cartesian coordinates)
static auto distance(double radius, const PointLonLat&, const PointLonLat&) -> double
Great-circle distance between two points.
static auto distance(double radius, const PointXYZ&, const PointXYZ&) -> double
Great-circle distance between two points (Cartesian coordinates)
static auto area(double radius) -> double
Surface area [L^2].
static auto area(double radius, const area::BoundingBox&) -> double
Surface area between parallels and meridians [L^2].
static auto greatCircleLatitudeGivenLongitude(const PointLonLat&, const PointLonLat&, double lon) -> double
Great-circle intermediate latitude provided two circle points and intermediate longitude [degree].
static void greatCircleLongitudeGivenLatitude(const PointLonLat&, const PointLonLat&, double lat, double& lon1, double& lon2)
Great-circle intermediate longitude(s) provided two circle points and intermediate latitude [degree].
static auto convertSphericalToCartesian(double radius, const PointLonLat&, double height = 0.) -> PointXYZ
Convert spherical to Cartesian coordinates.
static auto convertCartesianToSpherical(double radius, const PointXYZ&) -> PointLonLat
Convert Cartesian to spherical coordinates.
static auto className() -> std::string

Constructors, destructors, conversion operators

Sphere(double R) explicit
Sphere(const Spec&) explicit

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

using eckit::geo::figure::Sphere::builder_t = BuilderT0<Figure>

Function documentation

static std::string eckit::geo::figure::Sphere::className()

spec::Custom* eckit::geo::figure::Sphere::spec() const

std::string eckit::geo::figure::Sphere::spec_str() const

std::string eckit::geo::figure::Sphere::proj_str() const

double eckit::geo::figure::Sphere::eccentricity() const

double eckit::geo::figure::Sphere::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.