Class EuclideanRStarTreeDistancePrioritySearcher<O extends elki.data.spatial.SpatialComparable>
- java.lang.Object
-
- elki.index.tree.spatial.rstarvariants.query.EuclideanRStarTreeDistancePrioritySearcher<O>
-
- All Implemented Interfaces:
elki.database.ids.DBIDIter,elki.database.ids.DBIDRef,elki.database.query.knn.KNNSearcher<O>,elki.database.query.PrioritySearcher<O>,elki.database.query.range.RangeSearcher<O>,elki.utilities.datastructures.iterator.Iter
public class EuclideanRStarTreeDistancePrioritySearcher<O extends elki.data.spatial.SpatialComparable> extends java.lang.Object implements elki.database.query.PrioritySearcher<O>Instance of priority search for a particular spatial index.- Since:
- 0.8.0
- Author:
- Erich Schubert
-
-
Field Summary
Fields Modifier and Type Field Description (package private) intchildnrCandidate within nodeprivate doublemindistDistance to current node(package private) AbstractRStarTreeNode<?,?>nodeCurrent node(package private) elki.utilities.datastructures.heap.DoubleIntegerMinHeappqPriority queue(package private) OqueryQuery objectprotected elki.database.relation.Relation<? extends O>relationRelation we query.private static elki.distance.minkowski.SquaredEuclideanDistanceSQUAREDSquared Euclidean distance function.(package private) doublethresholdStopping distance thresholdprotected AbstractRStarTree<?,?,?>treeThe index to use
-
Constructor Summary
Constructors Constructor Description EuclideanRStarTreeDistancePrioritySearcher(AbstractRStarTree<?,?,?> tree, elki.database.relation.Relation<? extends O> relation)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EuclideanRStarTreeDistancePrioritySearcher<O>advance()protected booleanadvanceQueue()Expand the next node of the priority heap.doubleallLowerBound()doublecomputeExactDistance()EuclideanRStarTreeDistancePrioritySearcher<O>decreaseCutoff(double threshold)doublegetLowerBound()intinternalGetIndex()EuclideanRStarTreeDistancePrioritySearcher<O>search(O query)booleanvalid()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
tree
protected final AbstractRStarTree<?,?,?> tree
The index to use
-
SQUARED
private static final elki.distance.minkowski.SquaredEuclideanDistance SQUARED
Squared Euclidean distance function.
-
relation
protected elki.database.relation.Relation<? extends O extends elki.data.spatial.SpatialComparable> relation
Relation we query.
-
query
O extends elki.data.spatial.SpatialComparable query
Query object
-
threshold
double threshold
Stopping distance threshold
-
pq
elki.utilities.datastructures.heap.DoubleIntegerMinHeap pq
Priority queue
-
node
AbstractRStarTreeNode<?,?> node
Current node
-
childnr
int childnr
Candidate within node
-
mindist
private double mindist
Distance to current node
-
-
Constructor Detail
-
EuclideanRStarTreeDistancePrioritySearcher
public EuclideanRStarTreeDistancePrioritySearcher(AbstractRStarTree<?,?,?> tree, elki.database.relation.Relation<? extends O> relation)
Constructor.- Parameters:
tree- Index to userelation- Data relation to query
-
-
Method Detail
-
search
public EuclideanRStarTreeDistancePrioritySearcher<O> search(O query)
- Specified by:
searchin interfaceelki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
-
decreaseCutoff
public EuclideanRStarTreeDistancePrioritySearcher<O> decreaseCutoff(double threshold)
- Specified by:
decreaseCutoffin interfaceelki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
-
valid
public boolean valid()
- Specified by:
validin interfaceelki.utilities.datastructures.iterator.Iter
-
advance
public EuclideanRStarTreeDistancePrioritySearcher<O> advance()
- Specified by:
advancein interfaceelki.database.ids.DBIDIter- Specified by:
advancein interfaceelki.utilities.datastructures.iterator.Iter- Specified by:
advancein interfaceelki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
-
advanceQueue
protected boolean advanceQueue()
Expand the next node of the priority heap.
-
getLowerBound
public double getLowerBound()
- Specified by:
getLowerBoundin interfaceelki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
-
allLowerBound
public double allLowerBound()
- Specified by:
allLowerBoundin interfaceelki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
-
computeExactDistance
public double computeExactDistance()
- Specified by:
computeExactDistancein interfaceelki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
-
internalGetIndex
public int internalGetIndex()
- Specified by:
internalGetIndexin interfaceelki.database.ids.DBIDRef
-
-