O
- Object typepublic class LngLatAsECEFIndex<O extends NumberVector> extends ProjectedIndex<O,O>
Earth-Centered, Earth-Fixed (ECEF) is a 3D coordinate system, sometimes also referred to as XYZ, that uses 3 cartesian axes. The center is at the earths center of mass, the z axis points to the north pole. X axis is to the prime meridan at the equator (so latitude 0, longitude 0), and the Y axis is orthogonal going to the east (latitude 0, longitude 90°E).
The Euclidean distance in this coordinate system is a lower bound for the great-circle distance, and Euclidean coordinates are supposedly easier to index.
Note: this index will only support the distance function
LngLatDistanceFunction
, as it uses a projection that will map data
according to this great circle distance. If the query hint "exact" is set, it
will not be used.
Modifier and Type | Class and Description |
---|---|
static class |
LngLatAsECEFIndex.Factory<O extends NumberVector>
Index factory.
|
ProjectedIndex.ProjectedKNNQuery, ProjectedIndex.ProjectedRangeQuery, ProjectedIndex.ProjectedRKNNQuery
inner, kmulti, norefine, proj, refinements, relation, view
Constructor and Description |
---|
LngLatAsECEFIndex(Relation<? extends O> relation,
Projection<O,O> proj,
Relation<O> view,
Index inner,
boolean norefine)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
KNNQuery<O> |
getKNNQuery(DistanceQuery<O> distanceQuery,
java.lang.Object... hints)
Get a KNN query object for the given distance query and k.
|
java.lang.String |
getLongName()
A "pretty" name for the result, for use in titles, captions and menus.
|
RangeQuery<O> |
getRangeQuery(DistanceQuery<O> distanceQuery,
java.lang.Object... hints)
Get a range query object for the given distance query and k.
|
RKNNQuery<O> |
getRKNNQuery(DistanceQuery<O> distanceQuery,
java.lang.Object... hints)
Get a KNN query object for the given distance query and k.
|
java.lang.String |
getShortName()
A short name for the result, useful for file names.
|
initialize, logStatistics
public LngLatAsECEFIndex(Relation<? extends O> relation, Projection<O,O> proj, Relation<O> view, Index inner, boolean norefine)
relation
- Relation to index.proj
- Projection to use.view
- View to use.inner
- Index to wrap.norefine
- Refinement disable flag.public java.lang.String getLongName()
Result
getLongName
in interface Result
getLongName
in class ProjectedIndex<O extends NumberVector,O extends NumberVector>
public java.lang.String getShortName()
Result
getShortName
in interface Result
getShortName
in class ProjectedIndex<O extends NumberVector,O extends NumberVector>
public KNNQuery<O> getKNNQuery(DistanceQuery<O> distanceQuery, java.lang.Object... hints)
KNNIndex
getKNNQuery
in interface KNNIndex<O extends NumberVector>
getKNNQuery
in class ProjectedIndex<O extends NumberVector,O extends NumberVector>
distanceQuery
- Distance queryhints
- Hints for the optimizernull
public RangeQuery<O> getRangeQuery(DistanceQuery<O> distanceQuery, java.lang.Object... hints)
RangeIndex
getRangeQuery
in interface RangeIndex<O extends NumberVector>
getRangeQuery
in class ProjectedIndex<O extends NumberVector,O extends NumberVector>
distanceQuery
- Distance queryhints
- Hints for the optimizernull
public RKNNQuery<O> getRKNNQuery(DistanceQuery<O> distanceQuery, java.lang.Object... hints)
RKNNIndex
getRKNNQuery
in interface RKNNIndex<O extends NumberVector>
getRKNNQuery
in class ProjectedIndex<O extends NumberVector,O extends NumberVector>
distanceQuery
- Distance queryhints
- Hints for the optimizernull
Copyright © 2019 ELKI Development Team. License information.