@Title(value="R*-Tree") @Description(value="Balanced index structure based on bounding rectangles.") @Reference(authors="N. Beckmann, H.-P. Kriegel, R. Schneider, B. Seeger", title="The R*-tree: an efficient and robust access method for points and rectangles", booktitle="Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data, Atlantic City, NJ, May 23-25, 1990", url="http://dx.doi.org/10.1145/93597.98741") public class RStarTree extends NonFlatRStarTree<RStarTreeNode,SpatialEntry>
Modifier and Type | Field and Description |
---|---|
private static Logging |
logger
The logger for this class.
|
bulkSplitter, distanceCalcs, extraIntegrityChecks, height, insertionStrategy, nodeSplitter, reinsertions
dirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum
Constructor and Description |
---|
RStarTree(PageFile<RStarTreeNode> pagefile,
BulkSplit bulkSplitter,
InsertionStrategy insertionStrategy)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected SpatialEntry |
createNewDirectoryEntry(RStarTreeNode node)
Creates a new directory entry representing the specified node.
|
protected RStarTreeNode |
createNewDirectoryNode()
Creates a new directory node with the specified capacity.
|
protected RStarTreeNode |
createNewLeafNode()
Creates a new leaf node with the specified capacity.
|
protected SpatialEntry |
createRootEntry()
Creates an entry representing the root node.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
bulkLoad, computeHeight, createEmptyRoot, hasOverflow, hasUnderflow
adjustTree, canBulkLoad, choosePath, clearReinsertions, containedTest, createBulkLeafNodes, createNewRoot, deletePath, doExtraIntegrityChecks, findPathToObject, getHeight, getLeaves, initializeCapacities, initializeFromFile, insertDirectoryEntry, insertLeaf, insertLeafEntry, reInsert, setHeight, toString
createHeader, deleteNode, getFile, getNode, getNode, getPageFileStatistics, getPageID, getPageSize, getRoot, getRootEntry, getRootID, getRootPath, initialize, initialize, isRoot, postDelete, preInsert, writeNode
private static final Logging logger
public RStarTree(PageFile<RStarTreeNode> pagefile, BulkSplit bulkSplitter, InsertionStrategy insertionStrategy)
pagefile
- Page filebulkSplitter
- bulk load strategyinsertionStrategy
- the strategy to find the insertion childprotected SpatialEntry createRootEntry()
IndexTree
createRootEntry
in class IndexTree<RStarTreeNode,SpatialEntry>
protected SpatialEntry createNewDirectoryEntry(RStarTreeNode node)
AbstractRStarTree
createNewDirectoryEntry
in class AbstractRStarTree<RStarTreeNode,SpatialEntry>
node
- the node to be represented by the new entryprotected RStarTreeNode createNewLeafNode()
createNewLeafNode
in class IndexTree<RStarTreeNode,SpatialEntry>
protected RStarTreeNode createNewDirectoryNode()
createNewDirectoryNode
in class IndexTree<RStarTreeNode,SpatialEntry>
protected Logging getLogger()
IndexTree
getLogger
in class IndexTree<RStarTreeNode,SpatialEntry>