pub trait FeatureMapLike<X, Y, T: FeatureLike<X, Y>>: Index<usize>
where <Self as Index<usize>>::Output: CoordinateLike<X>,
{ // Required methods fn search_by(&self, query: f64) -> Result<usize, usize>; fn len(&self) -> usize; fn get_item(&self, i: usize) -> &T; fn get_slice(&self, i: Range<usize>) -> &[T]; // Provided methods fn is_empty(&self) -> bool { ... } fn _closest_feature( &self, query: f64, error_tolerance: Tolerance, i: usize ) -> Option<usize> { ... } fn search(&self, query: f64, error_tolerance: Tolerance) -> Option<usize> { ... } fn has_feature(&self, query: f64, error_tolerance: Tolerance) -> Option<&T> { ... } fn between(&self, low: f64, high: f64, error_tolerance: Tolerance) -> &[T] { ... } fn all_features_for(&self, query: f64, error_tolerance: Tolerance) -> &[T] { ... } }
Expand description

A two dimensional feature collection where features are sorted by the X dimension and each feature is internally sorted by the Y dimension.

Required Methods§

source

fn search_by(&self, query: f64) -> Result<usize, usize>

source

fn len(&self) -> usize

source

fn get_item(&self, i: usize) -> &T

Implement index access

source

fn get_slice(&self, i: Range<usize>) -> &[T]

Provided Methods§

source

fn is_empty(&self) -> bool

source

fn _closest_feature( &self, query: f64, error_tolerance: Tolerance, i: usize ) -> Option<usize>

source

fn search(&self, query: f64, error_tolerance: Tolerance) -> Option<usize>

Find the nearest index for query within error_tolerance in this feature collection, or None.

source

fn has_feature(&self, query: f64, error_tolerance: Tolerance) -> Option<&T>

Return the feature nearest to query within error_tolerance in this feature collection, or None.

source

fn between(&self, low: f64, high: f64, error_tolerance: Tolerance) -> &[T]

Return a slice containing all features between low and high coordinates within error_tolerance.

source

fn all_features_for(&self, query: f64, error_tolerance: Tolerance) -> &[T]

Find all features which could match query within error_tolerance units

Implementors§

source§

impl<'a, X, Y, T: FeatureLike<X, Y>> FeatureMapLike<X, Y, T> for FeatureMapView<'a, X, Y, T>

source§

impl<X, Y, T: FeatureLike<X, Y>> FeatureMapLike<X, Y, T> for FeatureMap<X, Y, T>