
O - the type of database objects the preprocessor can be applied toD - the type of distance the used distance function will returnN - the type of spatial nodes in the spatial indexE - the type of spatial entries in the spatial index@Title(value="Spatial Approximation Materialize kNN Preprocessor") @Description(value="Caterializes the (approximate) k nearest neighbors of objects of a database using a spatial approximation.") public class MetricalIndexApproximationMaterializeKNNPreprocessor<O extends NumberVector<? super O,?>,D extends Distance<D>,N extends Node<E>,E extends MTreeEntry<D>> extends AbstractMaterializeKNNPreprocessor<O,D>
LOF.
TODO correct handling of datastore events| Modifier and Type | Class and Description |
|---|---|
static class |
MetricalIndexApproximationMaterializeKNNPreprocessor.Factory<O extends NumberVector<? super O,?>,D extends Distance<D>,N extends Node<E>,E extends MTreeEntry<D>>
The parameterizable factory.
|
| Modifier and Type | Field and Description |
|---|---|
private static Logging |
logger
Logger to use
|
distanceFunction, distanceQuery, k, listenerListstoragerelation| Constructor and Description |
|---|
MetricalIndexApproximationMaterializeKNNPreprocessor(Relation<O> relation,
DistanceFunction<? super O,D> distanceFunction,
int k)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected Logging |
getLogger()
Get the classes static logger.
|
String |
getLongName()
A "pretty" name for the result, for use in titles, captions and menus.
|
private MetricalIndexTree<O,D,N,E> |
getMetricalIndex(Relation<O> relation)
Do some (limited) type checking, then cast the database into a spatial
database.
|
String |
getShortName()
A short name for the result, useful for file names.
|
protected void |
preprocess()
Perform the preprocessing step.
|
getDistanceFactory, getDistanceQuery, getK, getKNNQuerydelete, deleteAll, getPageFileStatistics, insert, insertAllprivate static final Logging logger
public MetricalIndexApproximationMaterializeKNNPreprocessor(Relation<O> relation, DistanceFunction<? super O,D> distanceFunction, int k)
relation - Relation to preprocessdistanceFunction - the distance function to usek - query kprotected void preprocess()
AbstractMaterializeKNNPreprocessorpreprocess in class AbstractMaterializeKNNPreprocessor<O extends NumberVector<? super O,?>,D extends Distance<D>>private MetricalIndexTree<O,D,N,E> getMetricalIndex(Relation<O> relation) throws IllegalStateException
relation - DatabaseIllegalStateException - when the cast fails.public String getLongName()
ResultgetLongName in interface ResultgetLongName in class AbstractIndex<O extends NumberVector<? super O,?>>public String getShortName()
ResultgetShortName in interface ResultgetShortName in class AbstractIndex<O extends NumberVector<? super O,?>>protected Logging getLogger()
AbstractPreprocessorIndexgetLogger in class AbstractPreprocessorIndex<O extends NumberVector<? super O,?>,List<DistanceResultPair<D extends Distance<D>>>>