Class LatLonPoint2D

java.lang.Object
ucar.unidata.data.point.LatLonPoint2D
All Implemented Interfaces:
Comparable<LatLonPoint2D>

public final class LatLonPoint2D extends Object implements Comparable<LatLonPoint2D>
  • Field Details

  • Constructor Details

    • LatLonPoint2D

      public LatLonPoint2D(double x, double y)
      Initializes a new point (x, y).
      Parameters:
      x - the x-coordinate
      y - the y-coordinate
      Throws:
      IllegalArgumentException - if either x or y is Double.NaN, Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY
  • Method Details

    • ccw

      public static int ccw(LatLonPoint2D a, LatLonPoint2D b, LatLonPoint2D c)
      Returns true if a→b→c is a counterclockwise turn.
      Parameters:
      a - first point
      b - second point
      c - third point
      Returns:
      { -1, 0, +1 } if a→b→c is a { clockwise, collinear; counterclocwise } turn.
    • area2

      public static double area2(LatLonPoint2D a, LatLonPoint2D b, LatLonPoint2D c)
      Returns twice the signed area of the triangle a-b-c.
      Parameters:
      a - first point
      b - second point
      c - third point
      Returns:
      twice the signed area of the triangle a-b-c
    • main

      public static void main(String[] args)
      Unit tests the point data type.
      Parameters:
      args - the command-line arguments
    • x

      public double x()
      Returns the x-coordinate.
      Returns:
      the x-coordinate
    • y

      public double y()
      Returns the y-coordinate.
      Returns:
      the y-coordinate
    • r

      public double r()
      Returns the polar radius of this point.
      Returns:
      the polar radius of this point in polar coordiantes: sqrt(x*x + y*y)
    • theta

      public double theta()
      Returns the angle of this point in polar coordinates.
      Returns:
      the angle (in radians) of this point in polar coordiantes (between –π and π)
    • distanceTo

      public double distanceTo(LatLonPoint2D that)
      Returns the Euclidean distance between this point and that point.
      Parameters:
      that - the other point
      Returns:
      the Euclidean distance between this point and that point
    • distanceSquaredTo

      public double distanceSquaredTo(LatLonPoint2D that)
      Returns the square of the Euclidean distance between this point and that point.
      Parameters:
      that - the other point
      Returns:
      the square of the Euclidean distance between this point and that point
    • compareTo

      public int compareTo(LatLonPoint2D that)
      Compares two points by y-coordinate, breaking ties by x-coordinate. Formally, the invoking point (x0, y0) is less than the argument point (x1, y1) if and only if either y0 < y1 or if y0 == y1 and x0 < x1.
      Specified by:
      compareTo in interface Comparable<LatLonPoint2D>
      Parameters:
      that - the other point
      Returns:
      the value 0 if this string is equal to the argument string (precisely when equals() returns true); a negative integer if this point is less than the argument point; and a positive integer if this point is greater than the argument point
    • polarOrder

      public Comparator<LatLonPoint2D> polarOrder()
      Compares two points by polar angle (between 0 and 2π) with respect to this point.
      Returns:
      the comparator
    • atan2Order

      public Comparator<LatLonPoint2D> atan2Order()
      Compares two points by atan2() angle (between –π and π) with respect to this point.
      Returns:
      the comparator
    • distanceToOrder

      public Comparator<LatLonPoint2D> distanceToOrder()
      Compares two points by distance to this point.
      Returns:
      the comparator
    • equals

      public boolean equals(Object other)
      Compares this point to the specified point.
      Overrides:
      equals in class Object
      Parameters:
      other - the other point
      Returns:
      true if this point equals other; false otherwise
    • toString

      public String toString()
      Return a string representation of this point.
      Overrides:
      toString in class Object
      Returns:
      a string representation of this point in the format (x, y)
    • hashCode

      public int hashCode()
      Returns an integer hash code for this point.
      Overrides:
      hashCode in class Object
      Returns:
      an integer hash code for this point
    • draw

      public void draw()
      Plot this point using standard draw.
    • drawTo

      public void drawTo(LatLonPoint2D that)
      Plot a line from this point to that point using standard draw.
      Parameters:
      that - the other point