de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rstar
Class RStarTree<O extends NumberVector<O,?>>
java.lang.Object
de.lmu.ifi.dbs.elki.logging.AbstractLoggable
de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
de.lmu.ifi.dbs.elki.index.tree.TreeIndex<O,N,E>
de.lmu.ifi.dbs.elki.index.tree.spatial.SpatialIndex<O,N,E>
de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.AbstractRStarTree<O,N,E>
de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.NonFlatRStarTree<O,RStarTreeNode,SpatialEntry>
de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rstar.RStarTree<O>
- Type Parameters:
O
- Object type
- All Implemented Interfaces:
- Index<O>, Parameterizable
public class RStarTree<O extends NumberVector<O,?>>
- extends NonFlatRStarTree<O,RStarTreeNode,SpatialEntry>
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.
- Author:
- Elke Achtert
Fields inherited from class de.lmu.ifi.dbs.elki.index.tree.TreeIndex |
CACHE_SIZE_ID, cacheSize, dirCapacity, dirMinimum, file, FILE_ID, initialized, leafCapacity, leafMinimum, PAGE_SIZE_ID, pageSize |
Constructor Summary |
RStarTree()
Creates a new RStar-Tree. |
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.AbstractRStarTree |
batchNN, bulkKNNQueryForIDs, clearReinsertions, createLeafNodes, delete, doKNNQuery, findPathToObject, getHeight, getLeaves, getSortedEntries, getSortedEntries, getValues, initializeCapacities, initializeFromFile, insert, insert, kNNQuery, rangeQuery, reverseKNNQuery, setHeight, toString |
Methods inherited from class de.lmu.ifi.dbs.elki.index.tree.TreeIndex |
close, createHeader, getLogicalPageAccess, getNode, getNode, getPhysicalReadAccess, getPhysicalWriteAccess, getRoot, getRootEntry, getRootPath, initialize, resetPageAccess |
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable |
addOption, addParameterizable, addParameterizable, checkGlobalParameterConstraints, collectOptions, getAttributeSettings, getParameters, rememberParametersExcept, removeOption, removeParameterizable, shortDescription |
RStarTree
public RStarTree()
- Creates a new RStar-Tree.
createRootEntry
protected SpatialEntry createRootEntry()
- Creates an entry representing the root node.
- Specified by:
createRootEntry
in class TreeIndex<O extends NumberVector<O,?>,RStarTreeNode,SpatialEntry>
- Returns:
- an entry representing the root node
createNewLeafEntry
protected SpatialEntry createNewLeafEntry(O o)
- Description copied from class:
AbstractRStarTree
- Creates a new leaf entry representing the specified data object in the
specified subtree.
- Specified by:
createNewLeafEntry
in class AbstractRStarTree<O extends NumberVector<O,?>,RStarTreeNode,SpatialEntry>
- Parameters:
o
- the data object to be represented by the new entry
- Returns:
- the newly created leaf entry
createNewDirectoryEntry
protected SpatialEntry createNewDirectoryEntry(RStarTreeNode node)
- Description copied from class:
AbstractRStarTree
- Creates a new directory entry representing the specified node.
- Specified by:
createNewDirectoryEntry
in class AbstractRStarTree<O extends NumberVector<O,?>,RStarTreeNode,SpatialEntry>
- Parameters:
node
- the node to be represented by the new entry
- Returns:
- the newly created directory entry
createNewLeafNode
protected RStarTreeNode createNewLeafNode(int capacity)
- Creates a new leaf node with the specified capacity.
- Specified by:
createNewLeafNode
in class TreeIndex<O extends NumberVector<O,?>,RStarTreeNode,SpatialEntry>
- Parameters:
capacity
- the capacity of the new node
- Returns:
- a new leaf node
createNewDirectoryNode
protected RStarTreeNode createNewDirectoryNode(int capacity)
- Creates a new directory node with the specified capacity.
- Specified by:
createNewDirectoryNode
in class TreeIndex<O extends NumberVector<O,?>,RStarTreeNode,SpatialEntry>
- Parameters:
capacity
- the capacity of the new node
- Returns:
- a new directory node
preInsert
protected void preInsert(SpatialEntry entry)
- Performs necessary operations before inserting the specified entry.
- Specified by:
preInsert
in class TreeIndex<O extends NumberVector<O,?>,RStarTreeNode,SpatialEntry>
- Parameters:
entry
- the entry to be inserted
postDelete
protected void postDelete(O o)
- Performs necessary operations after deleting the specified object.
- Specified by:
postDelete
in class TreeIndex<O extends NumberVector<O,?>,RStarTreeNode,SpatialEntry>
- Parameters:
o
- the object to be deleted