Class Loxodrome

  • Direct Known Subclasses:
    LoxodromeArc

    public class Loxodrome
    extends Object
    Perform calculations on a loxodrome (commonly, a rhumb line) on an ellipsoid.

    A loxodrome or rhumb line is an arc on an ellipsoid's surface that intersects every meridian at the same angle.

    Since:
    11.3
    Author:
    Joe Reed
    • Constructor Detail

      • Loxodrome

        public Loxodrome​(GeodeticPoint point,
                         double azimuth,
                         OneAxisEllipsoid body)
        Constructor building a loxodrome from an initial point and an azimuth-off-local-north heading. This method is an equivalent to new Loxodrome(point, azimuth, body, point.getAltitude())
        Parameters:
        point - the initial loxodrome point
        azimuth - the heading, clockwise angle from north (radians, [0,2pi])
        body - ellipsoid body on which the loxodrome is defined
      • Loxodrome

        public Loxodrome​(GeodeticPoint point,
                         double azimuth,
                         OneAxisEllipsoid body,
                         double altitude)
        Constructor building a loxodrome from an initial point and an azimuth-off-local-north heading.
        Parameters:
        point - the initial loxodrome point
        azimuth - the heading, clockwise angle from north (radians, [0,2pi])
        body - ellipsoid body on which the loxodrome is defined
        altitude - altitude above the reference body
    • Method Detail

      • getPoint

        public GeodeticPoint getPoint()
        Get the geodetic point defining the loxodrome.
        Returns:
        the geodetic point defining the loxodrome
      • getAzimuth

        public double getAzimuth()
        Get the azimuth.
        Returns:
        the azimuth
      • getBody

        public OneAxisEllipsoid getBody()
        Get the body on which the loxodrome is defined.
        Returns:
        the body on which the loxodrome is defined
      • getAltitude

        public double getAltitude()
        Get the altitude above the reference body.
        Returns:
        the altitude above the reference body
      • pointAtDistance

        public GeodeticPoint pointAtDistance​(double distance)
        Calculate the point at the specified distance from the origin point along the loxodrome. A positive distance follows the line in the azumuth direction (i.e. northward for arcs with azimuth angles [3pi/2, 2pi] or [0, pi/2]). Negative distances travel in the opposite direction along the rhumb line. Distance is computed at the altitude of the origin point.
        Parameters:
        distance - the distance to travel (meters)
        Returns:
        the point at the specified distance from the origin