Class RStarTreeDistancePrioritySearcher<O extends elki.data.spatial.SpatialComparable>
- java.lang.Object
-
- elki.index.tree.spatial.rstarvariants.query.RStarTreeDistancePrioritySearcher<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 RStarTreeDistancePrioritySearcher<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 nodeprotected elki.distance.SpatialPrimitiveDistance<? super O>distanceSpatial primitive distance function.private 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.(package private) doublethresholdStopping distance thresholdprotected AbstractRStarTree<?,?,?>treeThe index to use
-
Constructor Summary
Constructors Constructor Description RStarTreeDistancePrioritySearcher(AbstractRStarTree<?,?,?> tree, elki.database.relation.Relation<? extends O> relation, elki.distance.SpatialPrimitiveDistance<? super O> distance)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RStarTreeDistancePrioritySearcher<O>advance()protected booleanadvanceQueue()Expand the next node of the priority heap.doubleallLowerBound()doublecomputeExactDistance()RStarTreeDistancePrioritySearcher<O>decreaseCutoff(double threshold)elki.database.ids.KNNListgetKNN(O obj, int k)doublegetLowerBound()elki.database.ids.ModifiableDoubleDBIDListgetRange(O obj, double range, elki.database.ids.ModifiableDoubleDBIDList result)intinternalGetIndex()RStarTreeDistancePrioritySearcher<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
-
distance
protected final elki.distance.SpatialPrimitiveDistance<? super O extends elki.data.spatial.SpatialComparable> distance
Spatial primitive 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
-
RStarTreeDistancePrioritySearcher
public RStarTreeDistancePrioritySearcher(AbstractRStarTree<?,?,?> tree, elki.database.relation.Relation<? extends O> relation, elki.distance.SpatialPrimitiveDistance<? super O> distance)
Constructor.- Parameters:
tree- Index to userelation- Data relation to querydistance- Distance function
-
-
Method Detail
-
getKNN
public elki.database.ids.KNNList getKNN(O obj, int k)
-
getRange
public elki.database.ids.ModifiableDoubleDBIDList getRange(O obj, double range, elki.database.ids.ModifiableDoubleDBIDList result)
-
search
public RStarTreeDistancePrioritySearcher<O> search(O query)
- Specified by:
searchin interfaceelki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
-
decreaseCutoff
public RStarTreeDistancePrioritySearcher<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 RStarTreeDistancePrioritySearcher<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
-
-