Class RadiiOfCurvature

java.lang.Object
com.irurueta.navigation.inertial.RadiiOfCurvature
All Implemented Interfaces:
Serializable, Cloneable

public class RadiiOfCurvature extends Object implements Serializable, Cloneable
Contains radii of curvature of the WGS84 ellipsoid at a given latitude.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private double
    Transverse radius of curvature expressed in meters (m).
    private double
    Meridian radius of curvature expressed in meters (m).
    private static final long
    Serialization version.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
    RadiiOfCurvature(double rn, double re)
    Constructor.
    Constructor.
    RadiiOfCurvature(com.irurueta.units.Distance rnDistance, com.irurueta.units.Distance reDistance)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Object
    Makes a copy of this instance.
    void
    Copies data of provided instance into this instance.
    void
    Copies this instance data into provided instance.
    boolean
    Checks if provided instance has exactly the same contents as this instance.
    boolean
    equals(RadiiOfCurvature other, double threshold)
    Checks if provided instance has contents similar to this instance up to provided threshold value.
    boolean
    Checks if provided object is a RadiiOfCurvature instance having exactly the same contents as this instance.
    double
    Gets transverse radius of curvature expressed in meters (m).
    com.irurueta.units.Distance
    Gets transverse radius of curvature.
    void
    getReDistance(com.irurueta.units.Distance result)
    Gets transverse radius or curvature.
    double
    Gets meridian radius of curvature expressed in meters (m).
    com.irurueta.units.Distance
    Gets meridian radius of curvature.
    void
    getRnDistance(com.irurueta.units.Distance result)
    Gets meridian radius of curvature.
    int
    Computes and returns hash code for this instance.
    void
    setRe(double re)
    Sets transverse radius of curvature expressed in meters (m).
    void
    setReDistance(com.irurueta.units.Distance reDistance)
    Sets transverse radius of curvature.
    void
    setRn(double rn)
    Sets meridian radius of curvature expressed in meters (m).
    void
    setRnDistance(com.irurueta.units.Distance rnDistance)
    Sets meridian radius of curvature.
    void
    setValues(double rn, double re)
    Sets radii of curvature.
    void
    setValues(com.irurueta.units.Distance rnDistance, com.irurueta.units.Distance reDistance)
    Sets radii of curvature.

    Methods inherited from class java.lang.Object

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

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version. This is used to ensure compatibility of deserialization of permanently stored serialized instances.
      See Also:
    • rn

      private double rn
      Meridian radius of curvature expressed in meters (m). This is the radius of curvature for north-south motion. It is the radius of curvature of a meridian, a cross-section of the ellipsoid surface in the north-down plane, at the point of interest (a given latitude). This is the same as the radius of the best-fitting circle to the meridian ellipse at the point of interest. The meridian radius of curvature varies with latitude and is smallest at the equator, where the geocentric radius is largest, and largest at the poles.
    • re

      private double re
      Transverse radius of curvature expressed in meters (m). This is the radius of curvature for east-west motion. This is also known as the normal radius of curvature or prime vertical radius of curvature. It is the radius of curvature of a cross-section of the ellipsoid surface in the east-down plane at the point of interest. This is the vertical plane perpendicular to the meridian plane and is not the plane of constant latitude. The transverse radius of curvature varies with latitude and is smallest at the equator. It is also equal to the length of the normal from a point on the surface to the polar axis.
  • Constructor Details

    • RadiiOfCurvature

      public RadiiOfCurvature()
      Constructor.
    • RadiiOfCurvature

      public RadiiOfCurvature(double rn, double re)
      Constructor.
      Parameters:
      rn - meridian radius of curvature expressed in meters (m).
      re - transverse radius of curvature expressed in meters (m).
    • RadiiOfCurvature

      public RadiiOfCurvature(com.irurueta.units.Distance rnDistance, com.irurueta.units.Distance reDistance)
      Constructor.
      Parameters:
      rnDistance - meridian radius of curvature.
      reDistance - transverse radius of curvature.
    • RadiiOfCurvature

      public RadiiOfCurvature(RadiiOfCurvature input)
      Constructor.
      Parameters:
      input - instance to copy data from.
  • Method Details

    • getRn

      public double getRn()
      Gets meridian radius of curvature expressed in meters (m). This is the radius of curvature for north-south motion. It is the radius of curvature of a meridian, a cross-section of the ellipsoid surface in the north-down plane, at the point of interest (a given latitude). This is the same as the radius of the best-fitting circle to the meridian ellipse at the point of interest. The meridian radius of curvature varies with latitude and is smallest at the equator, where the geocentric radius is largest, and largest at the poles.
      Returns:
      meridian radius of curvature expressed in meters (m).
    • setRn

      public void setRn(double rn)
      Sets meridian radius of curvature expressed in meters (m). This is the radius of curvature for north-south motion. It is the radius of curvature of a meridian, a cross-section of the ellipsoid surface in the north-down plane, at the point of interest (a given latitude). This is the same as the radius of the best-fitting circle to the meridian ellipse at the point of interest. The meridian radius of curvature varies with latitude and is smallest at the equator, where the geocentric radius is largest, and largest at the poles.
      Parameters:
      rn - meridian radius of curvature expressed in meters (m).
    • getRe

      public double getRe()
      Gets transverse radius of curvature expressed in meters (m). This is the radius of curvature for east-wet motion. This is also known as the normal radius of curvature or prime vertical radius of curvature. It is the radius of curvature of a cross-section of the ellipsoid surface in the east-down plane at the point of interest. This is the vertical plane perpendicular to the meridian plane and is not the plane of constant latitude. The transverse radius of curvature varies with latitude and is smallest at the equator. It is also equal to the length of the normal from a point on the surface to the polar axis.
      Returns:
      transverse radius of curvature expressed in meters (m).
    • setRe

      public void setRe(double re)
      Sets transverse radius of curvature expressed in meters (m). This is the radius of curvature for east-wet motion. This is also known as the normal radius of curvature or prime vertical radius of curvature. It is the radius of curvature of a cross-section of the ellipsoid surface in the east-down plane at the point of interest. This is the vertical plane perpendicular to the meridian plane and is not the plane of constant latitude. The transverse radius of curvature varies with latitude and is smallest at the equator. It is also equal to the length of the normal from a point on the surface to the polar axis.
      Parameters:
      re - transverse radius of curvature expressed in meters (m).
    • setValues

      public void setValues(double rn, double re)
      Sets radii of curvature.
      Parameters:
      rn - meridian radius of curvature expressed in meters (m).
      re - transverse radius of curvature expressed in meters (m).
    • getRnDistance

      public void getRnDistance(com.irurueta.units.Distance result)
      Gets meridian radius of curvature. This is the radius of curvature for north-south motion. It is the radius of curvature of a meridian, a cross-section of the ellipsoid surface in the north-down plane, at the point of interest (a given latitude). This is the same as the radius of the best-fitting circle to the meridian ellipse at the point of interest. The meridian radius of curvature varies with latitude and is smallest at the equator, where the geocentric radius is largest, and largest at the poles.
      Parameters:
      result - instance where meridian radius of curvature will be stored.
    • getRnDistance

      public com.irurueta.units.Distance getRnDistance()
      Gets meridian radius of curvature. This is the radius of curvature for north-south motion. It is the radius of curvature of a meridian, a cross-section of the ellipsoid surface in the north-down plane, at the point of interest (a given latitude). This is the same as the radius of the best-fitting circle to the meridian ellipse at the point of interest. The meridian radius of curvature varies with latitude and is smallest at the equator, where the geocentric radius is largest, and largest at the poles.
      Returns:
      meridian radius of curvature.
    • setRnDistance

      public void setRnDistance(com.irurueta.units.Distance rnDistance)
      Sets meridian radius of curvature. This is the radius of curvature for north-south motion. It is the radius of curvature of a meridian, a cross-section of the ellipsoid surface in the north-down plane, at the point of interest (a given latitude). This is the same as the radius of the best-fitting circle to the meridian ellipse at the point of interest. The meridian radius of curvature varies with latitude and is smallest at the equator, where the geocentric radius is largest, and largest at the poles.
      Parameters:
      rnDistance - meridian radius of curvature to be set.
    • getReDistance

      public void getReDistance(com.irurueta.units.Distance result)
      Gets transverse radius or curvature. This is the radius of curvature for east-wet motion. This is also known as the normal radius of curvature or prime vertical radius of curvature. It is the radius of curvature of a cross-section of the ellipsoid surface in the east-down plane at the point of interest. This is the vertical plane perpendicular to the meridian plane and is not the plane of constant latitude. The transverse radius of curvature varies with latitude and is smallest at the equator. It is also equal to the length of the normal from a point on the surface to the polar axis.
      Parameters:
      result - instance where transverse radius of curvature will be stored.
    • getReDistance

      public com.irurueta.units.Distance getReDistance()
      Gets transverse radius of curvature. This is the radius of curvature for east-wet motion. This is also known as the normal radius of curvature or prime vertical radius of curvature. It is the radius of curvature of a cross-section of the ellipsoid surface in the east-down plane at the point of interest. This is the vertical plane perpendicular to the meridian plane and is not the plane of constant latitude. The transverse radius of curvature varies with latitude and is smallest at the equator. It is also equal to the length of the normal from a point on the surface to the polar axis.
      Returns:
      transverse radius of curvature.
    • setReDistance

      public void setReDistance(com.irurueta.units.Distance reDistance)
      Sets transverse radius of curvature. This is the radius of curvature for east-wet motion. This is also known as the normal radius of curvature or prime vertical radius of curvature. It is the radius of curvature of a cross-section of the ellipsoid surface in the east-down plane at the point of interest. This is the vertical plane perpendicular to the meridian plane and is not the plane of constant latitude. The transverse radius of curvature varies with latitude and is smallest at the equator. It is also equal to the length of the normal from a point on the surface to the polar axis.
      Parameters:
      reDistance - transverse radius of curvature to be set.
    • setValues

      public void setValues(com.irurueta.units.Distance rnDistance, com.irurueta.units.Distance reDistance)
      Sets radii of curvature.
      Parameters:
      rnDistance - meridian radius of curvature.
      reDistance - transverse radius of curvature.
    • copyTo

      public void copyTo(RadiiOfCurvature output)
      Copies this instance data into provided instance.
      Parameters:
      output - destination instance where data will be copied to.
    • copyFrom

      public void copyFrom(RadiiOfCurvature input)
      Copies data of provided instance into this instance.
      Parameters:
      input - instance to copy data from.
    • hashCode

      public int hashCode()
      Computes and returns hash code for this instance. Hash codes are almost unique values that are useful for fast classification and storage of objects in collections.
      Overrides:
      hashCode in class Object
      Returns:
      Hash code.
    • equals

      public boolean equals(Object obj)
      Checks if provided object is a RadiiOfCurvature instance having exactly the same contents as this instance.
      Overrides:
      equals in class Object
      Parameters:
      obj - object to be compared.
      Returns:
      true if both objects are considered to be equal, false otherwise.
    • equals

      public boolean equals(RadiiOfCurvature other)
      Checks if provided instance has exactly the same contents as this instance.
      Parameters:
      other - instance to be compared.
      Returns:
      true if both instances are considered to be equal, false otherwise.
    • equals

      public boolean equals(RadiiOfCurvature other, double threshold)
      Checks if provided instance has contents similar to this instance up to provided threshold value.
      Parameters:
      other - instance to be compared.
      threshold - maximum allowed difference between radii values.
      Returns:
      true if both instances are considered to be equal (up to provided threshold), false otherwise.
    • clone

      protected Object clone() throws CloneNotSupportedException
      Makes a copy of this instance.
      Overrides:
      clone in class Object
      Returns:
      a copy of this instance.
      Throws:
      CloneNotSupportedException - if clone fails for some reason.