Class Ellipsoid


  • public final class Ellipsoid
    extends java.lang.Object
    Reference ellipsoids.
    • Constructor Detail

      • Ellipsoid

        private Ellipsoid​(double a,
                          double b,
                          double e,
                          double e2,
                          double eb2,
                          boolean sperical)
        private constructur - use one of the create_* methods
        Parameters:
        a - semimajor radius of the ellipsoid axis
        b - semiminor radius of the ellipsoid axis
        e - first eccentricity of the ellipsoid ( = sqrt((a*a - b*b)/(a*a)))
        e2 - first eccentricity squared
        eb2 - square of the second eccentricity
        sperical - if the ellipsoid is sphere
    • Method Detail

      • createAb

        public static Ellipsoid createAb​(double a,
                                         double b)
        create a new ellipsoid
        Parameters:
        a - semimajor radius of the ellipsoid axis (in meters)
        b - semiminor radius of the ellipsoid axis (in meters)
        Returns:
        the new ellipsoid
      • createAes

        public static Ellipsoid createAes​(double a,
                                          double es)
        create a new ellipsoid
        Parameters:
        a - semimajor radius of the ellipsoid axis (in meters)
        es - first eccentricity squared
        Returns:
        the new ellipsoid
      • createAf

        public static Ellipsoid createAf​(double a,
                                         double f)
        create a new ellipsoid
        Parameters:
        a - semimajor radius of the ellipsoid axis (in meters)
        f - flattening ( = (a - b) / a)
        Returns:
        the new ellipsoid
      • createArf

        public static Ellipsoid createArf​(double a,
                                          double rf)
        create a new ellipsoid
        Parameters:
        a - semimajor radius of the ellipsoid axis (in meters)
        rf - inverse flattening
        Returns:
        the new ellipsoid
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • verticalRadiusOfCurvature

        public double verticalRadiusOfCurvature​(double phi)
        Returns the radius of curvature in the prime vertical for this reference ellipsoid at the specified latitude.
        Parameters:
        phi - The local latitude (radians).
        Returns:
        The radius of curvature in the prime vertical (meters).
      • sqr

        private static double sqr​(double x)
      • meridionalArc

        public double meridionalArc​(double phi)
        Returns the meridional arc, the true meridional distance on the ellipsoid from the equator to the specified latitude, in meters.
        Parameters:
        phi - The local latitude (in radians).
        Returns:
        The meridional arc (in meters).
      • meridionalRadiusOfCurvature

        public double meridionalRadiusOfCurvature​(double phi)
        Returns the radius of curvature in the meridian for this reference ellipsoid at the specified latitude.
        Parameters:
        phi - The local latitude (in radians).
        Returns:
        The radius of curvature in the meridian (in meters).
      • latitudeIsometric

        public double latitudeIsometric​(double phi,
                                        double e)
        Returns isometric latitude of phi on given first eccentricity (e)
        Parameters:
        phi - The local latitude (radians).
        e - first eccentricity
        Returns:
        isometric latitude of phi on first eccentricity (e)
      • latitudeIsometric

        public double latitudeIsometric​(double phi)
        Returns isometric latitude of phi on first eccentricity (e)
        Parameters:
        phi - The local latitude (radians).
        Returns:
        isometric latitude of phi on first eccentricity (e)
      • latitude

        public double latitude​(double latIso,
                               double e,
                               double epsilon)
        Returns geographic latitude of isometric latitude of first eccentricity (e) and epsilon precision
        Parameters:
        latIso - isometric latitude
        e - first eccentricity
        epsilon - epsilon precision
        Returns:
        geographic latitude of isometric latitude of first eccentricity (e) and epsilon precision
      • cart2LatLon

        public LatLon cart2LatLon​(double... xyz)
        convert cartesian coordinates to ellipsoidal coordinates
        Parameters:
        xyz - the coordinates in meters (X, Y, Z)
        Returns:
        The corresponding latitude and longitude in degrees
      • latLon2Cart

        public double[] latLon2Cart​(LatLon coord)
        convert ellipsoidal coordinates to cartesian coordinates
        Parameters:
        coord - The Latitude and longitude in degrees
        Returns:
        the corresponding (X, Y Z) cartesian coordinates in meters.