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.
  • Constructor Details

  • Method Details

    • compare

      protected Double compare(org.apache.lucene.util.BytesRef left, org.apache.lucene.util.BytesRef right) throws IOException
      Specified by:
      compare in class BinarySpatialFunction.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)