Class StDistance.DistanceCalculator
java.lang.Object
org.elasticsearch.xpack.esql.expression.function.scalar.spatial.BinarySpatialFunction.BinarySpatialComparator<Double>
org.elasticsearch.xpack.esql.expression.function.scalar.spatial.StDistance.DistanceCalculator
- Direct Known Subclasses:
StDistance.CartesianDistanceCalculator,StDistance.GeoDistanceCalculator
- Enclosing class:
StDistance
public abstract static class StDistance.DistanceCalculator
extends BinarySpatialFunction.BinarySpatialComparator<Double>
This class is a CRS specific interface for generalizing distance calculations for the various possible ways
that the geometries can be provided, from source, from evals, from literals and from doc values.
-
Field Summary
Fields inherited from class org.elasticsearch.xpack.esql.expression.function.scalar.spatial.BinarySpatialFunction.BinarySpatialComparator
coordinateEncoder, crsType, spatialCoordinateType -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDistanceCalculator(SpatialCoordinateTypes spatialCoordinateType, CoordinateEncoder encoder) -
Method Summary
Modifier and TypeMethodDescriptionprotected Doublecompare(org.apache.lucene.util.BytesRef left, org.apache.lucene.util.BytesRef right) doubledistance(org.apache.lucene.util.BytesRef left, org.apache.lucene.util.BytesRef right) protected doubledistance(org.elasticsearch.geometry.Geometry left, org.elasticsearch.geometry.Geometry right) protected abstract doubledistance(org.elasticsearch.geometry.Point left, org.elasticsearch.geometry.Point right) voiddistancePointDocValuesAndConstant(DoubleBlock.Builder results, int position, LongBlock left, org.elasticsearch.geometry.Point right) voiddistancePointDocValuesAndSource(DoubleBlock.Builder results, int position, LongBlock left, BytesRefBlock right) voiddistanceSourceAndConstant(DoubleBlock.Builder results, int position, BytesRefBlock left, org.elasticsearch.geometry.Point right) voiddistanceSourceAndSource(DoubleBlock.Builder results, int position, BytesRefBlock left, BytesRefBlock right) Methods inherited from class org.elasticsearch.xpack.esql.expression.function.scalar.spatial.BinarySpatialFunction.BinarySpatialComparator
fromBytesRef
-
Constructor Details
-
DistanceCalculator
protected DistanceCalculator(SpatialCoordinateTypes spatialCoordinateType, CoordinateEncoder encoder)
-
-
Method Details
-
compare
protected Double compare(org.apache.lucene.util.BytesRef left, org.apache.lucene.util.BytesRef right) throws IOException - Specified by:
comparein classBinarySpatialFunction.BinarySpatialComparator<Double>- Throws:
IOException
-
distance
protected abstract double distance(org.elasticsearch.geometry.Point left, org.elasticsearch.geometry.Point right) -
distance
protected double distance(org.elasticsearch.geometry.Geometry left, org.elasticsearch.geometry.Geometry right) -
distance
public double distance(org.apache.lucene.util.BytesRef left, org.apache.lucene.util.BytesRef right) -
distanceSourceAndConstant
public void distanceSourceAndConstant(DoubleBlock.Builder results, int position, BytesRefBlock left, org.elasticsearch.geometry.Point right) -
distanceSourceAndSource
public void distanceSourceAndSource(DoubleBlock.Builder results, int position, BytesRefBlock left, BytesRefBlock right) -
distancePointDocValuesAndConstant
public void distancePointDocValuesAndConstant(DoubleBlock.Builder results, int position, LongBlock left, org.elasticsearch.geometry.Point right) -
distancePointDocValuesAndSource
public void distancePointDocValuesAndSource(DoubleBlock.Builder results, int position, LongBlock left, BytesRefBlock right)
-