drasys.or.geom.geo
Class Ellipsoid

java.lang.Object
  |
  +--drasys.or.geom.geo.Ellipsoid

public class Ellipsoid
extends java.lang.Object
implements EllipsoidI, java.io.Serializable

An implementation of an elipsoid.

References:

Map Projections : A Reference Manual
    Lev M. Bugayevskiy, John P. Snyder / Hardcover / Published 1995
Flattening the Earth : Two Thousand Years of Map Projections
    John P. Synder, John P. Snyder / Paperback / Published 1997

See Also:
Serialized Form

Constructor Summary
Ellipsoid(java.lang.String name, double equatorialRadius, double flattening)
          Construct a custom ellipsoid.
 
Method Summary
 double getEccentricity()
          Returns the eccentricity of the ellipsoid.
 double getEccentricitySquared()
          Returns the square of the eccentricity of the ellipsoid.
static java.lang.String[] getEllipsoidNames()
          Returns an array containing the names of the available ellipsoids.
 double getEquatorialRadius()
          Returns the equatorial radius of the ellipsoid.
 double getFlattening()
          Returns the flattening of the ellipsoid.
static Ellipsoid getInstance(java.lang.String name)
          Returns an instance of a standard ellipsoid by name.
 double getInverseMeridinalDistance(double distance)
          Returns the latitude in radians that is 'distance' from the equator.
 double getMeanRadius()
          Returns the mean radius of the ellipsoid.
 double getMeridinalDistance(double radians)
          Returns the meridinal distance from the equator to a latitude given in radians.
 double getMeridinalDistance(double radians, double sin, double cos)
          Returns the meridinal distance from the equator to a latitude.
 java.lang.String getName()
          Returns the name used to identify the ellipsoid.
 double getPolarRadius()
          Returns the polar radius of the ellipsoid.
static double greatCircleAngle(PointI point1, PointI point2)
          Returns the great circle angle in radians.
 double greatCircleSphericalDistance(PointI point1, PointI point2)
          Returns the great circle distance in the units of the ellipsoid.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Ellipsoid

public Ellipsoid(java.lang.String name,
                 double equatorialRadius,
                 double flattening)
Construct a custom ellipsoid.
Method Detail

getInstance

public static Ellipsoid getInstance(java.lang.String name)
Returns an instance of a standard ellipsoid by name. The radius values are in meters. The available ellipsoids are:
"WGS 84", 6378137.000, 1.0/298.257223563
"WGS 72", 6378135.000, 1.0/298.26
"WGS 66", 6378145.000, 1.0/298.25
"WGS 60", 6378165.000, 1.0/298.30
"South American 1969", 6378160.000, 1.0/298.25
"Krassovsky 1940", 6378245.000, 1.0/298.30
"Hough 1956", 6378270.000, 1.0/297.00
"GRS 1980", 6378137.000, 1.0/298.257222101
"GRS 1975", 6378140.000, 1.0/298.257
"GRS 1967", 6378160.000, 1.0/298.247167427
"Fischer 1968", 6378150.000, 1.0/298.30
"Fischer 1960", 6378166.000, 1.0/298.30
"Everest 1830", 6377276.345, 1.0/300.8017
"Clarke 1880", 6378249.145, 1.0/293.465
"Clarke 1866", 6378206.400, 1.0/294.9786982
"Bessel 1841", 6377397.155, 1.0/299.1528128
"Airy 1830", 6377563.396, 1.0/299.3249646

getEllipsoidNames

public static java.lang.String[] getEllipsoidNames()
Returns an array containing the names of the available ellipsoids.

getName

public java.lang.String getName()
Returns the name used to identify the ellipsoid.
Specified by:
getName in interface EllipsoidI

getFlattening

public double getFlattening()
Returns the flattening of the ellipsoid.
Specified by:
getFlattening in interface EllipsoidI

getEccentricity

public double getEccentricity()
Returns the eccentricity of the ellipsoid.
Specified by:
getEccentricity in interface EllipsoidI

getEccentricitySquared

public double getEccentricitySquared()
Returns the square of the eccentricity of the ellipsoid.
Specified by:
getEccentricitySquared in interface EllipsoidI

getPolarRadius

public double getPolarRadius()
Returns the polar radius of the ellipsoid.
Specified by:
getPolarRadius in interface EllipsoidI

getEquatorialRadius

public double getEquatorialRadius()
Returns the equatorial radius of the ellipsoid.
Specified by:
getEquatorialRadius in interface EllipsoidI

getMeanRadius

public double getMeanRadius()
Returns the mean radius of the ellipsoid.
Specified by:
getMeanRadius in interface EllipsoidI

getMeridinalDistance

public double getMeridinalDistance(double radians)
Returns the meridinal distance from the equator to a latitude given in radians. The arguments are the sin and cos of the latitude.
Specified by:
getMeridinalDistance in interface EllipsoidI

getMeridinalDistance

public double getMeridinalDistance(double radians,
                                   double sin,
                                   double cos)
Returns the meridinal distance from the equator to a latitude. The arguments are the sin and cos of the latitude.
Specified by:
getMeridinalDistance in interface EllipsoidI

getInverseMeridinalDistance

public double getInverseMeridinalDistance(double distance)
Returns the latitude in radians that is 'distance' from the equator.
Specified by:
getInverseMeridinalDistance in interface EllipsoidI

greatCircleSphericalDistance

public double greatCircleSphericalDistance(PointI point1,
                                           PointI point2)
Returns the great circle distance in the units of the ellipsoid.
Specified by:
greatCircleSphericalDistance in interface EllipsoidI

greatCircleAngle

public static double greatCircleAngle(PointI point1,
                                      PointI point2)
Returns the great circle angle in radians.


Copyright(C)1997-2000 by DRA Systems all rights reserved. OpsResearch.com