eckit::geo::SearchLonLat struct

Base classes

template<class Traits>
class eckit::KDTreeMemory<Traits>

Public types

using Point = geo::PointLonLat
using Value = SPValue<TT<search::Traits<Point, Payload>, KDMemory>>
using KDTree = KDTreeX<TT<Traits, KDMemory>>
using Payload = KDTree::Payload
using Node = KDNode<TT<Traits, KDMemory>>
using SPTreeType = SPTree<TT<Traits, KDMemory>, Node>
using Alloc = Traits::Alloc
using Ptr = Alloc::Ptr
using ID = Alloc::Ptr
using Metadata = SPMetadata<Traits>
using PointType = Point
using PayloadType = Payload
using NodeList = Node::NodeList
using NodeInfo = SPNodeInfo<Traits, NodeType>
using iterator = SPIterator<Traits, NodeType>
using value_type = std::pair<Point, Payload>

Public functions

void insert(const SearchLonLat::Value& value)
template<typename Container>
void build(const Container& c)
auto nearestNeighbour(const Point& p) -> size_t
auto findInSphere(const Point& p, double radius) -> std::vector<size_t>
auto kNearestNeighbours(const Point& p, size_t k) -> std::vector<size_t>
void build(ITER begin, ITER end)
void build(Container& c)
void insert(const Value& value)
void setMetadata(const Point& offset, const Point& scale)
auto nodeByID(ID id) -> NodeInfo
void getMetadata(Point& offset, Point& scale)
auto nearestNeighbourBruteForce(const Point& p) -> NodeInfo
auto findInSphereBruteForce(const Point& p, double radius) -> NodeList
auto kNearestNeighboursBruteForce(const Point& p, size_t k) -> NodeList
template<class Visitor>
void visit(Visitor& v)
void statsReset()
void statsPrint(std::ostream& o, bool fancy) const
void print(std::ostream& o) const
auto begin() -> iterator
auto end() -> iterator
auto empty() const -> bool
auto size() const -> size_t

Public variables

Ptr root_
Metadata meta_

Typedef documentation

typedef KDTreeX<TT<Traits, KDMemory>> eckit::geo::SearchLonLat::KDTree

typedef KDTree::Payload eckit::geo::SearchLonLat::Payload

typedef KDNode<TT<Traits, KDMemory>> eckit::geo::SearchLonLat::Node

typedef SPTree<TT<Traits, KDMemory>, Node> eckit::geo::SearchLonLat::SPTreeType

typedef Traits::Alloc eckit::geo::SearchLonLat::Alloc

typedef Alloc::Ptr eckit::geo::SearchLonLat::Ptr

typedef Alloc::Ptr eckit::geo::SearchLonLat::ID

typedef SPMetadata<Traits> eckit::geo::SearchLonLat::Metadata

typedef Point eckit::geo::SearchLonLat::PointType

typedef Payload eckit::geo::SearchLonLat::PayloadType

typedef Node::NodeList eckit::geo::SearchLonLat::NodeList

typedef SPNodeInfo<Traits, NodeType> eckit::geo::SearchLonLat::NodeInfo

typedef SPIterator<Traits, NodeType> eckit::geo::SearchLonLat::iterator

typedef std::pair<Point, Payload> eckit::geo::SearchLonLat::value_type

Function documentation

void eckit::geo::SearchLonLat::build(ITER begin, ITER end)

ITER must be a random access iterator WARNING: container is changed (sorted)

void eckit::geo::SearchLonLat::build(Container& c)

Container must be a random access WARNING: container is changed (sorted)

void eckit::geo::SearchLonLat::insert(const Value& value)

void eckit::geo::SearchLonLat::setMetadata(const Point& offset, const Point& scale)

NodeInfo eckit::geo::SearchLonLat::nodeByID(ID id)

void eckit::geo::SearchLonLat::getMetadata(Point& offset, Point& scale)

NodeInfo eckit::geo::SearchLonLat::nearestNeighbourBruteForce(const Point& p)

NodeList eckit::geo::SearchLonLat::findInSphereBruteForce(const Point& p, double radius)

NodeList eckit::geo::SearchLonLat::kNearestNeighboursBruteForce(const Point& p, size_t k)

template<class Visitor>
void eckit::geo::SearchLonLat::visit(Visitor& v)

void eckit::geo::SearchLonLat::statsReset()

void eckit::geo::SearchLonLat::statsPrint(std::ostream& o, bool fancy) const

void eckit::geo::SearchLonLat::print(std::ostream& o) const

iterator eckit::geo::SearchLonLat::begin()

iterator eckit::geo::SearchLonLat::end()

bool eckit::geo::SearchLonLat::empty() const

size_t eckit::geo::SearchLonLat::size() const

Variable documentation

Ptr eckit::geo::SearchLonLat::root_

Metadata eckit::geo::SearchLonLat::meta_