## Class ArcDistance

• All Implemented Interfaces:
`DistanceStyle`

```public class ArcDistance
extends Object
implements DistanceStyle```
Arc 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 Description
`static ArcDistance` `INSTANCE`
An instance of the ArcDistance DistanceStyle.
• ### Fields inherited from interface org.apache.lucene.spatial3d.geom.DistanceStyle

`ARC, LINEAR, LINEAR_SQUARED, NORMAL, NORMAL_SQUARED`
• ### Constructor Summary

Constructors
Constructor Description
`ArcDistance()`
Constructor.
• ### Method Summary

All Methods
Modifier and Type Method 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.
• ### 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, fromAggregationForm, toAggregationForm`
• ### Field Detail

• #### INSTANCE

`public static final ArcDistance INSTANCE`
An instance of the ArcDistance DistanceStyle.
• ### Constructor Detail

• #### ArcDistance

`public ArcDistance()`
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
• #### 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.