Class RStarTree
- java.lang.Object
-
- elki.index.tree.IndexTree<N,E>
-
- elki.index.tree.spatial.rstarvariants.AbstractRStarTree<N,E,S>
-
- elki.index.tree.spatial.rstarvariants.NonFlatRStarTree<RStarTreeNode,SpatialEntry,RTreeSettings>
-
- elki.index.tree.spatial.rstarvariants.rstar.RStarTree
-
- All Implemented Interfaces:
elki.index.Index
- Direct Known Subclasses:
RStarTreeIndex
@Title("R*-Tree") @Description("Balanced index structure based on bounding rectangles.") @Reference(authors="Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger", title="The R*-tree: an efficient and robust access method for points and rectangles", booktitle="Proc. 1990 ACM SIGMOD Int. Conf. Management of Data", url="https://doi.org/10.1145/93597.98741", bibkey="DBLP:conf/sigmod/BeckmannKSS90") public abstract class RStarTree extends NonFlatRStarTree<RStarTreeNode,SpatialEntry,RTreeSettings>RStarTree is a spatial index structure based on the concepts of the R*-Tree. Apart from organizing the objects it also provides several methods to search for certain object in the structure and ensures persistence.Reference:
Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger
The R*-tree: an efficient and robust access method for points and rectangles
Proc. 1990 ACM SIGMOD Int. Conf. Management of Data- Since:
- 0.1
- Author:
- Elke Achtert
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
AbstractRStarTree.Statistics
-
-
Field Summary
Fields Modifier and Type Field Description private static elki.logging.LoggingLOGThe logger for this class.-
Fields inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
EXTRA_INTEGRITY_CHECKS, height, settings, statistics
-
-
Constructor Summary
Constructors Constructor Description RStarTree(elki.persistent.PageFile<RStarTreeNode> pagefile, RTreeSettings settings)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SpatialEntrycreateNewDirectoryEntry(RStarTreeNode node)Creates a new directory entry representing the specified node.protected RStarTreeNodecreateNewDirectoryNode()Creates a new directory node with the specified capacity.protected RStarTreeNodecreateNewLeafNode()Creates a new leaf node with the specified capacity.protected SpatialEntrycreateRootEntry()protected elki.logging.LogginggetLogger()-
Methods inherited from class elki.index.tree.spatial.rstarvariants.NonFlatRStarTree
bulkLoad, computeHeight, createEmptyRoot, hasOverflow, hasUnderflow
-
Methods inherited from class elki.index.tree.spatial.rstarvariants.AbstractRStarTree
adjustTree, canBulkLoad, choosePath, containedTest, createBulkLeafNodes, createNewRoot, deletePath, doExtraIntegrityChecks, findPathToObject, getHeight, getLeaves, initializeCapacities, initializeFromFile, insertEntry, insertLeaf, logStatistics, reInsert, setHeight, toString
-
-
-
-
Constructor Detail
-
RStarTree
public RStarTree(elki.persistent.PageFile<RStarTreeNode> pagefile, RTreeSettings settings)
Constructor.- Parameters:
pagefile- Page filesettings- Settings class
-
-
Method Detail
-
createRootEntry
protected SpatialEntry createRootEntry()
- Specified by:
createRootEntryin classelki.index.tree.IndexTree<RStarTreeNode,SpatialEntry>
-
createNewDirectoryEntry
protected SpatialEntry createNewDirectoryEntry(RStarTreeNode node)
Description copied from class:AbstractRStarTreeCreates a new directory entry representing the specified node.- Specified by:
createNewDirectoryEntryin classAbstractRStarTree<RStarTreeNode,SpatialEntry,RTreeSettings>- Parameters:
node- the node to be represented by the new entry- Returns:
- the newly created directory entry
-
createNewLeafNode
protected RStarTreeNode createNewLeafNode()
Creates a new leaf node with the specified capacity.- Specified by:
createNewLeafNodein classelki.index.tree.IndexTree<RStarTreeNode,SpatialEntry>- Returns:
- a new leaf node
-
createNewDirectoryNode
protected RStarTreeNode createNewDirectoryNode()
Creates a new directory node with the specified capacity.- Specified by:
createNewDirectoryNodein classelki.index.tree.IndexTree<RStarTreeNode,SpatialEntry>- Returns:
- a new directory node
-
getLogger
protected elki.logging.Logging getLogger()
- Specified by:
getLoggerin classelki.index.tree.IndexTree<RStarTreeNode,SpatialEntry>
-
-