atlas::PointLonLat class

Point in longitude-latitude coordinate system. This class does not normalise the longitude by default, but contains a normalise function.

Base classes

class eckit::geometry::Point2

Public static variables

static const size_t DIMS

Public static functions

static auto dimensions() -> size_t
static auto distance(const KPoint& p1, const KPoint& p2) -> double
static auto distance(const KPoint& p1, const KPoint& p2, unsigned int axis) -> double
static auto distance2(const KPoint& p1, const KPoint& p2) -> double
static auto equal(const KPoint& p1, const KPoint& p2) -> bool
static auto norm(const KPoint& p1) -> double
static auto dot(const KPoint& p1, const KPoint& p2) -> double
static auto add(const KPoint& p1, const KPoint& p2) -> KPoint
static auto middle(const KPoint& p1, const KPoint& p2) -> KPoint
static auto sub(const KPoint& p1, const KPoint& p2) -> KPoint
static auto mul(const KPoint& p, double m) -> KPoint
static auto div(const KPoint& p, double m) -> KPoint
static auto componentsMin(const KPoint& p1, const KPoint& p2) -> KPoint
static auto componentsMax(const KPoint& p1, const KPoint& p2) -> KPoint
static auto normalize(const KPoint& p) -> KPoint
static auto mean(const Container& points) -> Container::value_type
static auto symetrical(const KPoint& w, const KPoint& c) -> KPoint
static void normalizeAll(Container& c, KPoint& offset, KPoint& scale)

Constructors, destructors, conversion operators

PointLonLat()
PointLonLat(std::initializer_list<double> list)
PointLonLat(const array_t& arr)
Point2()
Point2(const BasePoint& p)
Point2(const double* p)
Point2(double x, double y)
operator eckit::Value() const

Public functions

auto lon() const -> double
auto lat() const -> double
auto lon() -> double&
auto lat() -> double&
void assign(double lon, double lat)
auto operator*=(double a) -> PointLonLat&
void normalise()
void normalise(double west)
void normalise(double west, double east)
template<typename T>
void assign(const T& p)
auto x() const -> double
auto x(size_t axis) const -> double
auto y() const -> double
auto operator[](const size_t& i) const -> double
auto operator[](const size_t& i) -> double&
template<typename T>
void assign(const T& p)
auto point() const -> const KPoint&
auto point() -> KPoint&
auto data() -> double*
auto data() const -> const double*
auto operator()(const size_t& i) const -> double
auto operator<(const KPoint& other) const -> bool
void print(std::ostream& s) const
auto distance(const KPoint& p) const -> double
auto distance2(const KPoint& p) const -> double
auto operator==(const KPoint& other) const -> bool
auto operator!=(const KPoint& other) const -> bool
void normalize(const KPoint& offset, const KPoint& scale)
auto begin() const -> const double*
auto end() const -> const double*
auto operator+(const KPoint& other) const -> KPoint
auto operator-(const KPoint& other) const -> KPoint
auto operator*(const double s) const -> KPoint

Function documentation

static size_t atlas::PointLonLat::dimensions()

static double atlas::PointLonLat::distance(const KPoint& p1, const KPoint& p2)

static double atlas::PointLonLat::distance(const KPoint& p1, const KPoint& p2, unsigned int axis)

static double atlas::PointLonLat::distance2(const KPoint& p1, const KPoint& p2)

static bool atlas::PointLonLat::equal(const KPoint& p1, const KPoint& p2)

static double atlas::PointLonLat::norm(const KPoint& p1)

static double atlas::PointLonLat::dot(const KPoint& p1, const KPoint& p2)

static KPoint atlas::PointLonLat::add(const KPoint& p1, const KPoint& p2)

static KPoint atlas::PointLonLat::middle(const KPoint& p1, const KPoint& p2)

static KPoint atlas::PointLonLat::sub(const KPoint& p1, const KPoint& p2)

static KPoint atlas::PointLonLat::mul(const KPoint& p, double m)

static KPoint atlas::PointLonLat::div(const KPoint& p, double m)

static KPoint atlas::PointLonLat::componentsMin(const KPoint& p1, const KPoint& p2)

static KPoint atlas::PointLonLat::componentsMax(const KPoint& p1, const KPoint& p2)

static KPoint atlas::PointLonLat::normalize(const KPoint& p)

static Container::value_type atlas::PointLonLat::mean(const Container& points)

static KPoint atlas::PointLonLat::symetrical(const KPoint& w, const KPoint& c)

static void atlas::PointLonLat::normalizeAll(Container& c, KPoint& offset, KPoint& scale)

atlas::PointLonLat::operator eckit::Value() const

double atlas::PointLonLat::x() const

double atlas::PointLonLat::x(size_t axis) const

double atlas::PointLonLat::y() const

double atlas::PointLonLat::operator[](const size_t& i) const

double& atlas::PointLonLat::operator[](const size_t& i)

template<typename T>
void atlas::PointLonLat::assign(const T& p)

const KPoint& atlas::PointLonLat::point() const

KPoint& atlas::PointLonLat::point()

double* atlas::PointLonLat::data()

const double* atlas::PointLonLat::data() const

double atlas::PointLonLat::operator()(const size_t& i) const

bool atlas::PointLonLat::operator<(const KPoint& other) const

void atlas::PointLonLat::print(std::ostream& s) const

double atlas::PointLonLat::distance(const KPoint& p) const

double atlas::PointLonLat::distance2(const KPoint& p) const

bool atlas::PointLonLat::operator==(const KPoint& other) const

bool atlas::PointLonLat::operator!=(const KPoint& other) const

void atlas::PointLonLat::normalize(const KPoint& offset, const KPoint& scale)

const double* atlas::PointLonLat::begin() const

const double* atlas::PointLonLat::end() const

KPoint atlas::PointLonLat::operator+(const KPoint& other) const

KPoint atlas::PointLonLat::operator-(const KPoint& other) const

KPoint atlas::PointLonLat::operator*(const double s) const

Variable documentation

static const size_t atlas::PointLonLat::DIMS