N
- Node typeE
- Entry typepublic abstract class NonFlatRStarTree<N extends AbstractRStarTreeNode<N,E>,E extends SpatialEntry> extends AbstractRStarTree<N,E>
bulkSplitter, distanceCalcs, extraIntegrityChecks, height, insertionStrategy, lastInsertedEntry, nodeSplitter, reinsertions
dirCapacity, dirMinimum, initialized, leafCapacity, leafMinimum
Constructor and Description |
---|
NonFlatRStarTree(PageFile<N> pagefile,
BulkSplit bulkSplitter,
InsertionStrategy insertionStrategy)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
bulkLoad(List<E> spatialObjects)
Performs a bulk load on this RTree with the specified data.
|
protected int |
computeHeight()
Computes the height of this RTree.
|
private List<N> |
createDirectoryNodes(List<N> nodes)
Creates and returns the directory nodes for bulk load.
|
protected void |
createEmptyRoot(E exampleLeaf)
Creates an empty root node and writes it to file.
|
private N |
createRoot(N root,
List<? extends SpatialComparable> objects)
Returns a root node for bulk load.
|
protected boolean |
hasOverflow(N node)
Returns true if in the specified node an overflow occurred, false
otherwise.
|
protected boolean |
hasUnderflow(N node)
Returns true if in the specified node an underflow occurred, false
otherwise.
|
adjustTree, canBulkLoad, choosePath, clearReinsertions, containedTest, createBulkLeafNodes, createNewDirectoryEntry, createNewRoot, deletePath, doExtraIntegrityChecks, findPathToObject, getHeight, getLeaves, initializeCapacities, initializeFromFile, insertDirectoryEntry, insertLeaf, insertLeafEntry, reInsert, setHeight, toString
createHeader, createNewDirectoryNode, createNewLeafNode, createRootEntry, deleteNode, getFile, getLogger, getNode, getNode, getPageFileStatistics, getPageID, getPageSize, getRoot, getRootEntry, getRootID, getRootPath, initialize, initialize, isRoot, postDelete, preInsert, writeNode
public NonFlatRStarTree(PageFile<N> pagefile, BulkSplit bulkSplitter, InsertionStrategy insertionStrategy)
pagefile
- Page filebulkSplitter
- bulk load strategyinsertionStrategy
- the strategy to find the child to insert toprotected boolean hasOverflow(N node)
hasOverflow
in class AbstractRStarTree<N extends AbstractRStarTreeNode<N,E>,E extends SpatialEntry>
node
- the node to be tested for overflowprotected boolean hasUnderflow(N node)
hasUnderflow
in class AbstractRStarTree<N extends AbstractRStarTreeNode<N,E>,E extends SpatialEntry>
node
- the node to be tested for underflowprotected int computeHeight()
computeHeight
in class AbstractRStarTree<N extends AbstractRStarTreeNode<N,E>,E extends SpatialEntry>
protected void createEmptyRoot(E exampleLeaf)
IndexTree
createEmptyRoot
in class IndexTree<N extends AbstractRStarTreeNode<N,E>,E extends SpatialEntry>
exampleLeaf
- an object that will be stored in the indexprotected void bulkLoad(List<E> spatialObjects)
bulkLoad
in class AbstractRStarTree<N extends AbstractRStarTreeNode<N,E>,E extends SpatialEntry>
private List<N> createDirectoryNodes(List<N> nodes)
nodes
- the nodes to be insertedprivate N createRoot(N root, List<? extends SpatialComparable> objects)
root
- the new root nodeobjects
- the spatial objects to be inserted