Trait rstar::RTreeParams
source · pub trait RTreeParams: Send + Sync {
type DefaultInsertionStrategy: InsertionStrategy;
const MIN_SIZE: usize;
const MAX_SIZE: usize;
}
Expand description
Defines static parameters for an r-tree.
Internally, an r-tree contains several nodes, similar to a b-tree. These parameters change the size of these nodes and can be used to fine tune the tree’s performance.
Example
use rstar::{RTreeParams, RTree, RStarInsertionStrategy};
// This example uses an rtree with larger internal nodes.
struct LargeNodeParameters;
impl RTreeParams for LargeNodeParameters
{
const MIN_SIZE: usize = 10;
const MAX_SIZE: usize = 30;
type DefaultInsertionStrategy = RStarInsertionStrategy;
}
// Optional but helpful: Define a type alias for the new r-tree
type LargeNodeRTree<T> = RTree<T, LargeNodeParameters>;
// The only difference from now on is the usage of "new_with_params" instead of "new"
let mut large_node_tree: LargeNodeRTree<_> = RTree::new_with_params();
// Using the r-tree should allow inference for the point type
large_node_tree.insert([1.0, -1.0f32]);
// There is also a bulk load method with parameters:
let tree: LargeNodeRTree<_> = RTree::bulk_load_with_params(some_elements);
Required Associated Types
sourcetype DefaultInsertionStrategy: InsertionStrategy
type DefaultInsertionStrategy: InsertionStrategy
The insertion strategy which is used when calling insert.