org.apache.lucene.spatial3d.geom

## Class LinearSquaredDistance

- java.lang.Object
- - org.apache.lucene.spatial3d.geom.LinearSquaredDistance

- All Implemented Interfaces:
    DistanceStyle

      public class LinearSquaredDistance
      extends Object
      implements DistanceStyle

  Linear squared distance computation style.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static LinearSquaredDistance` | `INSTANCE` A convenient instance

    - ### Fields inherited from interface org.apache.lucene.spatial3d.geom.DistanceStyle

      `ARC, LINEAR, LINEAR_SQUARED, NORMAL, NORMAL_SQUARED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LinearSquaredDistance()` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `computeDistance(GeoPoint point1, double x2, double y2, double z2)` Compute the distance from a point to another point.
    `double` | `computeDistance(GeoPoint point1, GeoPoint point2)` Compute the distance from a point to another point.
    `double` | `computeDistance(PlanetModel planetModel, Plane plane, double x, double y, double z, Membership... bounds)` Compute the distance from a plane to a point.
    `double` | `computeDistance(PlanetModel planetModel, Plane plane, GeoPoint point, Membership... bounds)` Compute the distance from a plane to a point.
    `GeoPoint[]` | `findDistancePoints(PlanetModel planetModel, double distanceValue, GeoPoint startPoint, Plane plane, Membership... bounds)` Find a GeoPoint, at a specified distance from a starting point, within the specified bounds.
    `double` | `findMaximumArcDistance(PlanetModel planetModel, double distanceValue)` Given a distance metric, find the maximum arc distance represented by the distance metric.
    `double` | `findMinimumArcDistance(PlanetModel planetModel, double distanceValue)` Given a distance metric, find the minimum arc distance represented by that distance metric.
    `double` | `fromAggregationForm(double aggregateDistance)` Convert an aggregation form distance value back to an actual distance.
    `double` | `toAggregationForm(double distance)` Convert a distance to a form meant for aggregation.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.lucene.spatial3d.geom.DistanceStyle

      `aggregateDistances`

- - ### Field Detail

    - #### INSTANCE

          public static final LinearSquaredDistance INSTANCE

      A convenient instance

  - ### Constructor Detail

    - #### LinearSquaredDistance

          public LinearSquaredDistance()

      Constructor.

  - ### Method Detail

    - #### computeDistance

          public double computeDistance(GeoPoint point1,
                                        GeoPoint point2)

      Description copied from interface: `DistanceStyle`
      Compute the distance from a point to another point.
      Specified by:
        `computeDistance` in interface `DistanceStyle`
      Parameters:
        `point1` - Starting point
        `point2` - Final point
      Returns:
        the distance

    - #### computeDistance

          public double computeDistance(GeoPoint point1,
                                        double x2,
                                        double y2,
                                        double z2)

      Description copied from interface: `DistanceStyle`
      Compute the distance from a point to another point.
      Specified by:
        `computeDistance` in interface `DistanceStyle`
      Parameters:
        `point1` - Starting point
        `x2` - Final point x
        `y2` - Final point y
        `z2` - Final point z
      Returns:
        the distance

    - #### computeDistance

          public double computeDistance(PlanetModel planetModel,
                                        Plane plane,
                                        GeoPoint point,
                                        Membership... bounds)

      Description copied from interface: `DistanceStyle`
      Compute the distance from a plane to a point.
      Specified by:
        `computeDistance` in interface `DistanceStyle`
      Parameters:
        `planetModel` - The planet model
        `plane` - The plane
        `point` - The point
        `bounds` - are the plane bounds
      Returns:
        the distance

    - #### computeDistance

          public double computeDistance(PlanetModel planetModel,
                                        Plane plane,
                                        double x,
                                        double y,
                                        double z,
                                        Membership... bounds)

      Description copied from interface: `DistanceStyle`
      Compute the distance from a plane to a point.
      Specified by:
        `computeDistance` in interface `DistanceStyle`
      Parameters:
        `planetModel` - The planet model
        `plane` - The plane
        `x` - The point x
        `y` - The point y
        `z` - The point z
        `bounds` - are the plane bounds
      Returns:
        the distance

    - #### toAggregationForm

          public double toAggregationForm(double distance)

      Description copied from interface: `DistanceStyle`
      Convert a distance to a form meant for aggregation. This is meant to be used in conjunction with aggregateDistances() and fromAggregationForm(). Distances should be converted to aggregation form before aggregation is attempted, and they should be converted back from aggregation form to yield a final result.
      Specified by:
        `toAggregationForm` in interface `DistanceStyle`
      Parameters:
        `distance` - is an output of computeDistance().
      Returns:
        the distance, converted to aggregation form.

    - #### fromAggregationForm

          public double fromAggregationForm(double aggregateDistance)

      Description copied from interface: `DistanceStyle`
      Convert an aggregation form distance value back to an actual distance. This is meant to be used in conjunctiion with toAggregationForm() and aggregateDistances(). Distances should be converted to aggregation form before aggregation is attempted, and they should be converted back from aggregation form to yield a final result.
      Specified by:
        `fromAggregationForm` in interface `DistanceStyle`
      Parameters:
        `aggregateDistance` - is the aggregate form of the distance.
      Returns:
        the combined distance.

    - #### findDistancePoints

          public GeoPoint[] findDistancePoints(PlanetModel planetModel,
                                               double distanceValue,
                                               GeoPoint startPoint,
                                               Plane plane,
                                               Membership... bounds)

      Description copied from interface: `DistanceStyle`
      Find a GeoPoint, at a specified distance from a starting point, within the specified bounds. The GeoPoint must be in the specified plane.
      Specified by:
        `findDistancePoints` in interface `DistanceStyle`
      Parameters:
        `planetModel` - is the planet model.
        `distanceValue` - is the distance to set the new point at, measured from point1 and on the way to point2.
        `startPoint` - is the starting point.
        `plane` - is the plane that the point must be in.
        `bounds` - are the constraints on where the point can be found.
      Returns:
        zero, one, or two points at the proper distance from startPoint.

    - #### findMinimumArcDistance

          public double findMinimumArcDistance(PlanetModel planetModel,
                                               double distanceValue)

      Description copied from interface: `DistanceStyle`
      Given a distance metric, find the minimum arc distance represented by that distance metric.
      Specified by:
        `findMinimumArcDistance` in interface `DistanceStyle`
      Parameters:
        `planetModel` - is the planet model.
        `distanceValue` - is the distance metric.
      Returns:
        the minimum arc distance that that distance value can represent given the planet model.

    - #### findMaximumArcDistance

          public double findMaximumArcDistance(PlanetModel planetModel,
                                               double distanceValue)

      Description copied from interface: `DistanceStyle`
      Given a distance metric, find the maximum arc distance represented by the distance metric.
      Specified by:
        `findMaximumArcDistance` in interface `DistanceStyle`
      Parameters:
        `planetModel` - is the planet model.
        `distanceValue` - is the distance metric.
      Returns:
        the maximum arc distance that that distance value can represent given the planet model.

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.