ilog.views.maps.projection
Class IlvEllipsoid

java.lang.Object
  extended by ilog.views.maps.projection.IlvEllipsoid
All Implemented Interfaces:
IlvPersistentObject, Serializable

public class IlvEllipsoid
extends Object
implements Serializable, IlvPersistentObject

This class defines an ellipsoid. Ellipsoids are used in map projections to represent the figure of the earth. For many applications, and especially in small-scale mapping, the earth can be represented as a sphere. However, because the earth rotates on its axis and is slightly flattened, it is better approximated by an ellipsoid of rotation about the polar axis. Ellipsoidal projections are used for accurate large-scale maps and plane coordinate systems.

See Also:
Serialized Form

Field Summary
static IlvEllipsoid CPM
          The ellipsoid specified by the French Weights and Measures Commission ("Commission des Poids et Mesures") in 1799.
static IlvEllipsoid SGS85
          The ellipsoid used in the Soviet Geodetic System 85
static IlvEllipsoid SPHERE
          A spherical ellipsoid representing the earth.
static IlvEllipsoid WGS60
          The WGS 60 ellipsoid.
static IlvEllipsoid WGS66
          The WGS 66 ellipsoid.
static IlvEllipsoid WGS72
          The WGS 72 ellipsoid.
static IlvEllipsoid WGS84
          The WGS 84 ellipsoid.
 
Constructor Summary
IlvEllipsoid(double radius)
          Creates a sphere with the specified radius.
IlvEllipsoid(double a, double es)
          Creates an ellipsoid with the specified equatorial radius and eccentricity.
IlvEllipsoid(double a, double es, String name, String comment)
          Creates a named ellipsoid with the specified equatorial radius and eccentricity.
IlvEllipsoid(IlvInputStream stream)
          Reads the object from an IlvInputStream.
 
Method Summary
 boolean equivalent(IlvEllipsoid e)
          Returns true if the ellipsoid passed as the argument is equivalent to the object.
static double ESFromFlattening(double f)
          Returns the eccentricity squared which is computed from the flattening of the ellipsoid.
static double ESFromPolarRadius(double a, double b)
          Returns the eccentricity squared which is computed from the semi-major axis and the semi-minor axis of the ellipsoid.
 double getA()
          Returns the semi-major axis of the ellipsoid.
 IlvEllipsoid getASphere()
          Returns a sphere whose radius is the arithmetic mean of the minor and major axes.
 IlvEllipsoid getASphere(double phi)
          Returns a sphere whose radius is the arithmetic mean of the principle radii at the specified latitude.
 double getB()
          Returns the semi-minor axis of the ellipsoid.
 String getComment()
          Returns a description of the ellipsoid, if available.
 double getES()
          Returns the eccentricity squared of the ellipsoid.
 IlvEllipsoid getGSphere()
          Returns a sphere whose radius is the geometric mean of the minor and major axes.
 IlvEllipsoid getGSphere(double phi)
          Returns a sphere whose radius is the geometric mean of the principle radii at the specified latitude.
 IlvEllipsoid getHSphere()
          Returns a sphere whose radius is the harmonic mean of the minor and major axes.
 String getName()
          Returns the name of the ellipsoid.
 IlvEllipsoid getSphereOfSameArea()
          Returns a sphere of equivalent surface area.
 IlvEllipsoid getSphereOfSameVolume()
          Returns a sphere of equivalent volume.
 boolean isSphere()
          Returns true if the ellipsoid is a sphere.
 String toString()
          Converts the ellipsoid to a string.
 void write(IlvOutputStream stream)
          Writes the object onto an IlvOutputStream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SPHERE

public static final IlvEllipsoid SPHERE
A spherical ellipsoid representing the earth.

See Also:
IlvEllipsoidCollection.getEllipsoids()

SGS85

public static final IlvEllipsoid SGS85
The ellipsoid used in the Soviet Geodetic System 85

See Also:
IlvEllipsoidCollection.getEllipsoids()

CPM

public static final IlvEllipsoid CPM
The ellipsoid specified by the French Weights and Measures Commission ("Commission des Poids et Mesures") in 1799.

See Also:
IlvEllipsoidCollection.getEllipsoids()

WGS60

public static final IlvEllipsoid WGS60
The WGS 60 ellipsoid.

See Also:
IlvEllipsoidCollection.getEllipsoids()

WGS66

public static final IlvEllipsoid WGS66
The WGS 66 ellipsoid.

See Also:
IlvEllipsoidCollection.getEllipsoids()

WGS72

public static final IlvEllipsoid WGS72
The WGS 72 ellipsoid.

See Also:
IlvEllipsoidCollection.getEllipsoids()

WGS84

public static final IlvEllipsoid WGS84
The WGS 84 ellipsoid.

See Also:
IlvEllipsoidCollection.getEllipsoids()
Constructor Detail

IlvEllipsoid

public IlvEllipsoid(double radius)
Creates a sphere with the specified radius.

Parameters:
radius - the radius of the sphere in meters

IlvEllipsoid

public IlvEllipsoid(double a,
                    double es)
Creates an ellipsoid with the specified equatorial radius and eccentricity.

Parameters:
a - semi-major axis of the ellipsoid or equatorial radius
es - eccentricity squared of the ellipsoid

IlvEllipsoid

public IlvEllipsoid(double a,
                    double es,
                    String name,
                    String comment)
Creates a named ellipsoid with the specified equatorial radius and eccentricity.

Parameters:
a - semi-major axis of the ellipsoid or equatorial radius
es - eccentricity squared of the ellipsoid
name - name of the ellipsoid
comment - a short comment describing the ellipsoid

IlvEllipsoid

public IlvEllipsoid(IlvInputStream stream)
             throws IlvReadFileException
Reads the object from an IlvInputStream.

Parameters:
stream - the input stream.
Throws:
IlvReadFileException - if the format is not correct.
Since:
JViews 3.0
Method Detail

getA

public final double getA()
Returns the semi-major axis of the ellipsoid.


getB

public final double getB()
Returns the semi-minor axis of the ellipsoid.


getES

public final double getES()
Returns the eccentricity squared of the ellipsoid.


isSphere

public boolean isSphere()
Returns true if the ellipsoid is a sphere.


getSphereOfSameArea

public IlvEllipsoid getSphereOfSameArea()
Returns a sphere of equivalent surface area.


getSphereOfSameVolume

public IlvEllipsoid getSphereOfSameVolume()
Returns a sphere of equivalent volume.


getASphere

public IlvEllipsoid getASphere()
Returns a sphere whose radius is the arithmetic mean of the minor and major axes.


getASphere

public IlvEllipsoid getASphere(double phi)
Returns a sphere whose radius is the arithmetic mean of the principle radii at the specified latitude.

Parameters:
phi - the latitude in radians
See Also:
IlvProjectionUtil.DMSToRadian(java.lang.String), IlvProjectionUtil.DegreeToRadian(double)

getGSphere

public IlvEllipsoid getGSphere()
Returns a sphere whose radius is the geometric mean of the minor and major axes.


getGSphere

public IlvEllipsoid getGSphere(double phi)
Returns a sphere whose radius is the geometric mean of the principle radii at the specified latitude.

Parameters:
phi - the latitude in radians.
See Also:
IlvProjectionUtil.DMSToRadian(java.lang.String), IlvProjectionUtil.DegreeToRadian(double)

getHSphere

public IlvEllipsoid getHSphere()
Returns a sphere whose radius is the harmonic mean of the minor and major axes.


ESFromPolarRadius

public static double ESFromPolarRadius(double a,
                                       double b)
Returns the eccentricity squared which is computed from the semi-major axis and the semi-minor axis of the ellipsoid.

Parameters:
a - semi-major axis of the ellipsoid or equatorial radius.
b - semi-minor axis of the ellipsoid or polar radius.

ESFromFlattening

public static double ESFromFlattening(double f)
Returns the eccentricity squared which is computed from the flattening of the ellipsoid.

Parameters:
f - flattening of the ellipsoid.

getName

public String getName()
Returns the name of the ellipsoid.


getComment

public String getComment()
Returns a description of the ellipsoid, if available.


write

public void write(IlvOutputStream stream)
           throws IOException
Writes the object onto an IlvOutputStream.

Specified by:
write in interface IlvPersistentObject
Parameters:
stream - the output stream
Throws:
IOException - thrown when an exception occurs during the write operation for this object.
Since:
JViews 3.0

equivalent

public boolean equivalent(IlvEllipsoid e)
Returns true if the ellipsoid passed as the argument is equivalent to the object.

Since:
JViews 3.0

toString

public String toString()
Converts the ellipsoid to a string.

Overrides:
toString in class Object


Copyright © 1996-2007 ILOG S.A. All rights reserved.   Documentation homepage.