Class EuclideanRStarTreeDistancePrioritySearcher<O extends elki.data.spatial.SpatialComparable>

  • 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 Detail

      • 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
      • 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 use
        relation - Data relation to query
    • Method Detail

      • decreaseCutoff

        public EuclideanRStarTreeDistancePrioritySearcher<O> decreaseCutoff​(double threshold)
        Specified by:
        decreaseCutoff in interface elki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
      • valid

        public boolean valid()
        Specified by:
        valid in interface elki.utilities.datastructures.iterator.Iter
      • advance

        public EuclideanRStarTreeDistancePrioritySearcher<O> advance()
        Specified by:
        advance in interface elki.database.ids.DBIDIter
        Specified by:
        advance in interface elki.utilities.datastructures.iterator.Iter
        Specified by:
        advance in interface elki.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:
        getLowerBound in interface elki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
      • allLowerBound

        public double allLowerBound()
        Specified by:
        allLowerBound in interface elki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
      • computeExactDistance

        public double computeExactDistance()
        Specified by:
        computeExactDistance in interface elki.database.query.PrioritySearcher<O extends elki.data.spatial.SpatialComparable>
      • internalGetIndex

        public int internalGetIndex()
        Specified by:
        internalGetIndex in interface elki.database.ids.DBIDRef