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 eventsModifier 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, listenerList
storage
relation
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, getKNNQuery
delete, deleteAll, getPageFileStatistics, insert, insertAll
private 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()
AbstractMaterializeKNNPreprocessor
preprocess
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()
Result
getLongName
in interface Result
getLongName
in class AbstractIndex<O extends NumberVector<? super O,?>>
public String getShortName()
Result
getShortName
in interface Result
getShortName
in class AbstractIndex<O extends NumberVector<? super O,?>>
protected Logging getLogger()
AbstractPreprocessorIndex
getLogger
in class AbstractPreprocessorIndex<O extends NumberVector<? super O,?>,List<DistanceResultPair<D extends Distance<D>>>>