Enum DistanceUnit

java.lang.Object
java.lang.Enum<DistanceUnit>
org.opensearch.common.unit.DistanceUnit
All Implemented Interfaces:
Serializable, Comparable<DistanceUnit>, org.opensearch.core.common.io.stream.Writeable

public enum DistanceUnit extends Enum<DistanceUnit> implements org.opensearch.core.common.io.stream.Writeable
The DistanceUnit enumerates several units for measuring distances. These units provide methods for converting strings and methods to convert units among each others. Some methods like getEarthCircumference() refer to the earth ellipsoid defined in GeoUtils. The default unit used within this project is METERS which is defined by DEFAULT
Opensearch.internal:
  • Enum Constant Details

  • Field Details

  • Method Details

    • values

      public static DistanceUnit[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static DistanceUnit valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getEarthCircumference

      public double getEarthCircumference()
      Measures the circumference of earth in this unit
      Returns:
      length of earth circumference in this unit
    • getEarthRadius

      public double getEarthRadius()
      Measures the radius of earth in this unit
      Returns:
      length of earth radius in this unit
    • getDistancePerDegree

      public double getDistancePerDegree()
      Measures a longitude in this unit
      Returns:
      length of a longitude degree in this unit
    • toMeters

      public double toMeters(double distance)
      Convert a value into meters
      Parameters:
      distance - distance in this unit
      Returns:
      value in meters
    • fromMeters

      public double fromMeters(double distance)
      Convert a value given in meters to a value of this unit
      Parameters:
      distance - distance in meters
      Returns:
      value in this unit
    • convert

      public double convert(double distance, DistanceUnit unit)
      Convert a given value into another unit
      Parameters:
      distance - value in this unit
      unit - source unit
      Returns:
      value in this unit
    • toString

      public String toString(double distance)
      Convert a value to a distance string
      Parameters:
      distance - value to convert
      Returns:
      String representation of the distance
    • toString

      public String toString()
      Overrides:
      toString in class Enum<DistanceUnit>
    • convert

      public static double convert(double distance, DistanceUnit from, DistanceUnit to)
      Converts the given distance from the given DistanceUnit, to the given DistanceUnit
      Parameters:
      distance - Distance to convert
      from - Unit to convert the distance from
      to - Unit of distance to convert to
      Returns:
      Given distance converted to the distance in the given unit
    • parse

      public static double parse(String distance, DistanceUnit defaultUnit, DistanceUnit to)
      Parses a given distance and converts it to the specified unit.
      Parameters:
      distance - String defining a distance (value and unit)
      defaultUnit - unit assumed if none is defined
      to - unit of result
      Returns:
      parsed distance
    • parse

      public double parse(String distance, DistanceUnit defaultUnit)
      Parses a given distance and converts it to this unit.
      Parameters:
      distance - String defining a distance (value and unit)
      defaultUnit - unit to expect if none if provided
      Returns:
      parsed distance
    • fromString

      public static DistanceUnit fromString(String unit)
      Convert a String to a DistanceUnit
      Parameters:
      unit - name of the unit
      Returns:
      unit matching the given name
      Throws:
      IllegalArgumentException - if no unit matches the given name
    • parseUnit

      public static DistanceUnit parseUnit(String distance, DistanceUnit defaultUnit)
      Parses the suffix of a given distance string and return the corresponding DistanceUnit
      Parameters:
      distance - string representing a distance
      defaultUnit - default unit to use, if no unit is provided by the string
      Returns:
      unit of the given distance
    • readFromStream

      public static DistanceUnit readFromStream(org.opensearch.core.common.io.stream.StreamInput in) throws IOException
      Read a DistanceUnit from a StreamInput.
      Parameters:
      in - StreamInput to read the DistanceUnit from
      Returns:
      DistanceUnit read from the StreamInput
      Throws:
      IOException - if no unit can be read from the StreamInput
      IllegalArgumentException - if no matching DistanceUnit can be found
    • writeTo

      public void writeTo(org.opensearch.core.common.io.stream.StreamOutput out) throws IOException
      Write a DistanceUnit to a StreamOutput.
      Specified by:
      writeTo in interface org.opensearch.core.common.io.stream.Writeable
      Parameters:
      out - StreamOutput to write to
      Throws:
      IOException