ilog.views.maps.projection
Class IlvAlbersEqualAreaProjection

java.lang.Object
  extended by ilog.views.maps.projection.IlvProjection
      extended by ilog.views.maps.projection.IlvConicProjection
          extended by ilog.views.maps.projection.IlvAlbersEqualAreaProjection
All Implemented Interfaces:
IlvPersistentObject, Serializable
Direct Known Subclasses:
IlvLambertEqualAreaConicProjection

public class IlvAlbersEqualAreaProjection
extends IlvConicProjection

This class defines the Albers Equal Area Conic projection. A conic projection transfers the image of the globe to a cone either secant or tangent to the surface of the earth.

When used to display maps of the conterminous United States, this projection is often used with the first secant latitude set to 29.5DN and the second secant latitude set to 45.5DN.

This projection applies both to spherical and non-spherical ellipsoids and implements an inverse function.

This projection is Equal Area.

Since:
JViews 3.0
See Also:
Serialized Form

Field Summary
 
Fields inherited from class ilog.views.maps.projection.IlvProjection
CONFORMAL, EQUAL_AREA, NONE
 
Constructor Summary
IlvAlbersEqualAreaProjection()
          Creates an instance of the class IlvAlbersEqualAreaProjection and initializes its secant latitudes to 29.5N and 45.5N.
IlvAlbersEqualAreaProjection(double lat1, double lat2)
          Creates an instance of the class IlvAlbersEqualAreaProjection and specifies its secant latitudes.
IlvAlbersEqualAreaProjection(IlvAlbersEqualAreaProjection source)
          Creates a new IlvAlbersEqualAreaProjection by copying an existing one.
IlvAlbersEqualAreaProjection(IlvInputStream stream)
          Reads the object from an IlvInputStream.
 
Method Summary
 IlvProjection copy()
          Copies the projection.
protected  void eForward(IlvCoordinate ll)
          Implements the projection for an ellipsoid.
protected  void eInverse(IlvCoordinate xy)
          Implements the inverse projection for an ellipsoid.
 void setEllipsoid(IlvEllipsoid e)
          Sets the ellipsoid used for the projection.
 void setLLCenter(double lon, double lat)
          Specifies the central meridian and the central parallel associated with the projection and updates the internal parameters.
 void setSecantLatitudes(IlvCoordinate secant)
          Sets the secant latitudes of the projection.
protected  void sForward(IlvCoordinate ll)
          Implements the projection for a sphere.
protected  void sInverse(IlvCoordinate xy)
          Implements the inverse projection for a sphere.
 String toString()
          Converts the projection to a string with Evenden's format.
 
Methods inherited from class ilog.views.maps.projection.IlvConicProjection
addDescription, getSecantLatitude1, getSecantLatitude2, getSecantLatitudes, setSecantLatitude1, setSecantLatitude2, write
 
Methods inherited from class ilog.views.maps.projection.IlvProjection
adjustLongitude, equals, forward, forward, getCentralMeridian, getCentralParallel, getDatum, getEllipsoid, getFalseEasting, getFalseNorthing, GetProjection, getProperty, getUnit, getXYOffset, inverse, inverse, inverse, isEllipsoidEnabled, isGeocentric, isInverseEnabled, isUsingLongitudeReduction, setCentralMeridian, setCentralParallel, setDatum, setFalseEasting, setFalseNorthing, setGeocentric, setUnit, setUsingLongitudeReduction, setXYOffset
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IlvAlbersEqualAreaProjection

public IlvAlbersEqualAreaProjection()
Creates an instance of the class IlvAlbersEqualAreaProjection and initializes its secant latitudes to 29.5N and 45.5N.


IlvAlbersEqualAreaProjection

public IlvAlbersEqualAreaProjection(double lat1,
                                    double lat2)
                             throws IlvBadProjectionParameter
Creates an instance of the class IlvAlbersEqualAreaProjection and specifies its secant latitudes.

Parameters:
lat1 - the first secant latitude in radians
lat2 - the second secant latitude in radians
Throws:
IlvBadProjectionParameter - if the secant latitudes define a limiting form of the projection.

IlvAlbersEqualAreaProjection

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

Parameters:
stream - the input stream.
Throws:
IlvReadFileException - if the format is not correct.

IlvAlbersEqualAreaProjection

public IlvAlbersEqualAreaProjection(IlvAlbersEqualAreaProjection source)
Creates a new IlvAlbersEqualAreaProjection by copying an existing one.

Parameters:
source - the projection that is copied.
Method Detail

copy

public IlvProjection copy()
Copies the projection.

Specified by:
copy in class IlvProjection
Returns:
a copy of the projection.

sForward

protected void sForward(IlvCoordinate ll)
                 throws IlvToleranceConditionException
Implements the projection for a sphere.

Specified by:
sForward in class IlvProjection
Parameters:
ll - the longitude/latitude coordinates in radians (x = longitude, y = latitude)
Throws:
IlvToleranceConditionException - if the values are not within the tolerated limits.

sInverse

protected void sInverse(IlvCoordinate xy)
                 throws IlvToleranceConditionException
Implements the inverse projection for a sphere.

Overrides:
sInverse in class IlvProjection
Parameters:
xy - the Cartesian coordinates.
Throws:
IlvToleranceConditionException - if the values are not within the tolerated limits.
See Also:
IlvProjection.inverse(ilog.views.IlvPoint), IlvProjection.isInverseEnabled()

eInverse

protected void eInverse(IlvCoordinate xy)
                 throws IlvToleranceConditionException
Implements the inverse projection for an ellipsoid.

Overrides:
eInverse in class IlvProjection
Parameters:
xy - the Cartesian coordinates.
Throws:
IlvToleranceConditionException - if the values are not within the tolerated limits.
See Also:
IlvProjection.inverse(ilog.views.IlvPoint), IlvProjection.isEllipsoidEnabled(), IlvProjection.isInverseEnabled()

eForward

protected void eForward(IlvCoordinate ll)
                 throws IlvToleranceConditionException
Implements the projection for an ellipsoid.

Overrides:
eForward in class IlvProjection
Parameters:
ll - the longitude/latitude coordinates in radians (x = longitude, y = latitude)
Throws:
IlvToleranceConditionException - if the values are not within the tolerated limits.

setLLCenter

public void setLLCenter(double lon,
                        double lat)
Specifies the central meridian and the central parallel associated with the projection and updates the internal parameters. By default, the central parallel and the central meridian are set to 0.

Overrides:
setLLCenter in class IlvProjection
Parameters:
lon - the central meridian in radians
lat - the central parallel in radians
See Also:
IlvProjectionUtil.DegreeToRadian(double), IlvProjectionUtil.DMSToRadian(java.lang.String)

setSecantLatitudes

public void setSecantLatitudes(IlvCoordinate secant)
                        throws IlvBadProjectionParameter
Sets the secant latitudes of the projection.

Overrides:
setSecantLatitudes in class IlvConicProjection
Parameters:
secant - the first secant latitude in radians is in secant.x and the second secant latitude in radians is in secant.y.
Throws:
IlvBadProjectionParameter - if the latitudes specify a limiting form, that is, secant.x = -secant.y or secant.x = secant.y = PI/2

setEllipsoid

public void setEllipsoid(IlvEllipsoid e)
Sets the ellipsoid used for the projection. This function also updates the projection parameters for the given ellipsoid.

Overrides:
setEllipsoid in class IlvProjection
Parameters:
e - The ellipsoid.
See Also:
IlvEllipsoid

toString

public String toString()
Converts the projection to a string with Evenden's format.

Overrides:
toString in class Object


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