eckit::geo::PointLonLatR class final

The PointLonLatR class.

A point on a geographic coordinate system, in (longitude, latitude) coordinates [radian]. They are fully circular in space (also latitude), longitude is typically limited to [0, 2 pi[ and latitude to [-pi, pi], with normalisation functions available, as well as conversion to and from degree-based coordinates.

Public types

using container_type = array

Public static variables

static value_type FULL_ANGLE constexpr
static value_type FLAT_ANGLE constexpr
static value_type RIGHT_ANGLE constexpr
static value_type EPS constexpr

Public static functions

static auto normalise_angle_to_minimum(value_type, value_type minimum) -> value_type
static auto normalise_angle_to_maximum(value_type, value_type maximum) -> value_type
static auto make(value_type lonr, value_type latr, value_type lonr_minimum = 0., value_type eps = EPS) -> PointLonLatR
static auto make_from_lonlat(value_type lon, value_type lat, value_type lon_minimum = 0.) -> PointLonLatR

Constructors, destructors, conversion operators

PointLonLatR()
PointLonLatR(value_type lon, value_type lat)
PointLonLatR(const PointLonLatR& other)
PointLonLatR(PointLonLatR&& other)
~PointLonLatR() defaulted

Public functions

auto operator=(const PointLonLatR& other) -> PointLonLatR&
auto operator=(PointLonLatR&& other) -> PointLonLatR&
auto antipode() const -> PointLonLatR

Public variables

const value_type& lonr
const value_type& latr

Friends

auto operator<<(std::ostream& out, const PointLonLatR& p) -> std::ostream&