Class GeoPos

java.lang.Object
org.esa.snap.core.datamodel.GeoPos

public class GeoPos extends Object
The GeoPos class represents a geographical position measured in longitudes and latitudes.
Version:
$Revision$ $Date$
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    double
    The geographical latitude in decimal degree, valid range is -90 to +90.
    double
    The geographical longitude in decimal degree, valid range is -180 to +180.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new geo-position with latitude and longitude set to zero.
    GeoPos(double lat, double lon)
    Constructs a new geo-position with the given latitude and longitude values.
    GeoPos(GeoPos geoPos)
    Constructs a new geo-position with latitude and longitude set to that of the given geo-position.
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
    areValid(GeoPos[] gepPositions)
    Tests whether or not all given geo-positions are valid.
    boolean
    Indicates whether some other object is "equal to" this one.
    double
    Gets the latitude value.
    Returns a string representation of the latitude value.
    getLatString(boolean compassFormat, boolean decimalFormat)
    Returns a string representation of the latitude value.
    static String
    getLatString(double lat)
    Returns a string representation of the given latitude value.
    static String
    getLatString(double lat, boolean compassFormat, boolean decimalFormat)
    Returns a string representation of the given latitude value.
    double
    Gets the longitude value.
    Returns a string representation of the latitude value.
    getLonString(boolean compassFormat, boolean decimalFormat)
    Returns a string representation of the longitude value.
    static String
    getLonString(double lon)
    Returns a string representation of the given longitude value.
    static String
    getLonString(double lon, boolean compassFormat, boolean decimalFormat)
    Returns a string representation of the given longitude value.
    int
    Returns a hash code value for the object.
    final boolean
    Tests whether or not this geo-position is valid.
    void
    Normalizes this position so that its longitude is in the range -180 to +180 degree.
    static double
    normalizeLon(double lon)
    Normalizes the given longitude so that it is in the range -180 to +180 degree and returns it.
    final void
    Sets the lat/lon fields so that isValid() will return false.
    void
    setLocation(double lat, double lon)
    Sets the geographical location of this point.
    Returns a string representation of the object.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • lat

      public double lat
      The geographical latitude in decimal degree, valid range is -90 to +90.
    • lon

      public double lon
      The geographical longitude in decimal degree, valid range is -180 to +180.
  • Constructor Details

    • GeoPos

      public GeoPos()
      Constructs a new geo-position with latitude and longitude set to zero.
    • GeoPos

      public GeoPos(GeoPos geoPos)
      Constructs a new geo-position with latitude and longitude set to that of the given geo-position.
      Parameters:
      geoPos - the geo-position providing the latitude and longitude, must not be null
    • GeoPos

      public GeoPos(double lat, double lon)
      Constructs a new geo-position with the given latitude and longitude values.
      Parameters:
      lat - the geographical latitude in decimal degree, valid range is -90 to +90
      lon - the geographical longitude in decimal degree, valid range is -180 to +180
  • Method Details

    • getLat

      public double getLat()
      Gets the latitude value.
      Returns:
      the geographical latitude in decimal degree
    • getLon

      public double getLon()
      Gets the longitude value.
      Returns:
      the geographical longitude in decimal degree
    • setLocation

      public void setLocation(double lat, double lon)
      Sets the geographical location of this point.
      Parameters:
      lat - the geographical latitude in decimal degree, valid range is -90 to +90
      lon - the geographical longitude in decimal degree, valid range is -180 to +180
    • isValid

      public final boolean isValid()
      Tests whether or not this geo-position is valid.
      Returns:
      true, if so
    • areValid

      public static boolean areValid(GeoPos[] gepPositions)
      Tests whether or not all given geo-positions are valid.
      Returns:
      true, if so
    • setInvalid

      public final void setInvalid()
      Sets the lat/lon fields so that isValid() will return false.
    • equals

      public boolean equals(Object obj)
      Indicates whether some other object is "equal to" this one.
      Overrides:
      equals in class Object
      Parameters:
      obj - the reference object with which to compare.
      Returns:
      true if this object is the same as the obj argument; false otherwise.
    • hashCode

      public int hashCode()
      Returns a hash code value for the object.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
    • toString

      public String toString()
      Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object.
      Overrides:
      toString in class Object
      Returns:
      a string representation of the object.
    • normalize

      public void normalize()
      Normalizes this position so that its longitude is in the range -180 to +180 degree.
    • normalizeLon

      public static double normalizeLon(double lon)
      Normalizes the given longitude so that it is in the range -180 to +180 degree and returns it. Note that -180 will remain as is, although -180 is equivalent to +180 degrees.
      Parameters:
      lon - the longitude in degree
      Returns:
      the normalized longitude in the range
    • getLatString

      public String getLatString()
      Returns a string representation of the latitude value.
      Returns:
      a string of the form DDD°[MM'[SS"]] [N|S].
    • getLonString

      public String getLonString()
      Returns a string representation of the latitude value.
      Returns:
      a string of the form DDD°[MM'[SS"]] [W|E].
    • getLatString

      public static String getLatString(double lat)
      Returns a string representation of the given latitude value.
      Parameters:
      lat - the geographical latitude in decimal degree
      Returns:
      a string of the form DDD°[MM'[SS"]] [N|S].
    • getLatString

      public static String getLatString(double lat, boolean compassFormat, boolean decimalFormat)
      Returns a string representation of the given latitude value.
      Parameters:
      lat -
      compassFormat - true: "[degrees] [N|S]" false: "+/- [degrees]"
      decimalFormat - true: "degrees in decimal" false: "degrees in DDD°[MM'[SS"]]"
      Returns:
      a formatted string representing latitude
      Since:
      Sept 2018
    • getLonString

      public static String getLonString(double lon)
      Returns a string representation of the given longitude value.
      Parameters:
      lon - the geographical longitude in decimal degree
      Returns:
      a string of the form DDD°[MM'[SS"]] [W|E].
    • getLonString

      public static String getLonString(double lon, boolean compassFormat, boolean decimalFormat)
      Returns a string representation of the given longitude value.
      Parameters:
      lon -
      compassFormat - true: "[degrees] [N|S]" false: "+/- [degrees]"
      decimalFormat - true: "degrees in decimal" false: "degrees in DDD°[MM'[SS"]]"
      Returns:
      a formatted string representing latitude
      Since:
      Sept 2018
    • getLatString

      public String getLatString(boolean compassFormat, boolean decimalFormat)
      Returns a string representation of the latitude value.
      Parameters:
      compassFormat - true: "[degrees] [N|S]" false: "+/- [degrees]"
      decimalFormat - true: "degrees in decimal" false: "degrees in DDD°[MM'[SS"]]"
      Returns:
      a formatted string representing latitude
      Since:
      Sept 2018
    • getLonString

      public String getLonString(boolean compassFormat, boolean decimalFormat)
      Returns a string representation of the longitude value.
      Parameters:
      compassFormat - true: "[degrees] [N|S]" false: "+/- [degrees]"
      decimalFormat - true: "degrees in decimal" false: "degrees in DDD°[MM'[SS"]]"
      Returns:
      a formatted string representing longitude
      Since:
      Sept 2018