de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.query
Class MetricalIndexRangeQuery<O,D extends Distance<D>>
java.lang.Object
de.lmu.ifi.dbs.elki.database.query.AbstractDataBasedQuery<O>
de.lmu.ifi.dbs.elki.database.query.range.AbstractDistanceRangeQuery<O,D>
de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.query.MetricalIndexRangeQuery<O,D>
- All Implemented Interfaces:
- DatabaseQuery, RangeQuery<O,D>
public class MetricalIndexRangeQuery<O,D extends Distance<D>>
- extends AbstractDistanceRangeQuery<O,D>
Instance of a range query for a particular spatial index.
|
Method Summary |
private void |
doRangeQuery(DBID o_p,
AbstractMTreeNode<O,D,?,?> node,
DBID q,
D r_q,
List<DistanceResultPair<D>> result)
Performs a range query on the specified subtree. |
private void |
doRangeQuery(DBID o_p,
AbstractMTreeNode<O,D,?,?> node,
O q,
D r_q,
List<DistanceResultPair<D>> result)
Performs a range query on the specified subtree. |
List<DistanceResultPair<D>> |
getRangeForDBID(DBID id,
D range)
Get the nearest neighbors for a particular id in a given query range |
List<DistanceResultPair<D>> |
getRangeForObject(O obj,
D range)
Get the nearest neighbors for a particular object in a given query range |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
index
protected final AbstractMTree<O,D extends Distance<D>,?,?> index
- The index to use
MetricalIndexRangeQuery
public MetricalIndexRangeQuery(AbstractMTree<O,D,?,?> index,
DistanceQuery<O,D> distanceQuery)
- Constructor.
- Parameters:
index - Index to usedistanceQuery - Distance query used
doRangeQuery
private void doRangeQuery(DBID o_p,
AbstractMTreeNode<O,D,?,?> node,
DBID q,
D r_q,
List<DistanceResultPair<D>> result)
- Performs a range query on the specified subtree. It recursively traverses
all paths from the specified node, which cannot be excluded from leading to
qualifying objects.
- Parameters:
o_p - the routing object of the specified nodenode - the root of the subtree to be traversedq - the id of the query objectr_q - the query rangeresult - the list holding the query results
doRangeQuery
private void doRangeQuery(DBID o_p,
AbstractMTreeNode<O,D,?,?> node,
O q,
D r_q,
List<DistanceResultPair<D>> result)
- Performs a range query on the specified subtree. It recursively traverses
all paths from the specified node, which cannot be excluded from leading to
qualifying objects.
- Parameters:
o_p - the routing object of the specified nodenode - the root of the subtree to be traversedq - the id of the query objectr_q - the query rangeresult - the list holding the query results
getRangeForObject
public List<DistanceResultPair<D>> getRangeForObject(O obj,
D range)
- Description copied from interface:
RangeQuery
- Get the nearest neighbors for a particular object in a given query range
- Specified by:
getRangeForObject in interface RangeQuery<O,D extends Distance<D>>- Specified by:
getRangeForObject in class AbstractDistanceRangeQuery<O,D extends Distance<D>>
- Parameters:
obj - Query objectrange - Query range
- Returns:
- neighbors
getRangeForDBID
public List<DistanceResultPair<D>> getRangeForDBID(DBID id,
D range)
- Description copied from interface:
RangeQuery
- Get the nearest neighbors for a particular id in a given query range
- Specified by:
getRangeForDBID in interface RangeQuery<O,D extends Distance<D>>- Specified by:
getRangeForDBID in class AbstractDistanceRangeQuery<O,D extends Distance<D>>
- Parameters:
id - query object IDrange - Query range
- Returns:
- neighbors