ilog.views.maps.projection
Class IlvStereographicProjection

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

public class IlvStereographicProjection
extends IlvProjection

This class defines the Stereographic projection. The Stereographic projection is an Azimuthal projection, that is, a projection onto a plane tangent to the earth at a point specified by the central meridian and the central parallel. By default, the latitude of the true scale is PI/2.

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

This projection is Conformal.

See Also:
IlvUniversalPolarStereographicProjection, Serialized Form

Field Summary
 
Fields inherited from class ilog.views.maps.projection.IlvProjection
CONFORMAL, EQUAL_AREA, NONE
 
Constructor Summary
IlvStereographicProjection()
          Creates an instance of the class IlvStereographicProjection.
IlvStereographicProjection(IlvInputStream stream)
          Reads the object from an IlvInputStream.
IlvStereographicProjection(IlvStereographicProjection source)
          Creates a new IlvStereographicProjection by copying an existing one.
 
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.
 double getLatitudeOfTrueScale()
          Returns the latitude of the true scale.
 double getScaleFactor()
          Returns the scale factor applied to the central meridian.
 void setEllipsoid(IlvEllipsoid ellipsoid)
          Sets the ellipsoid used for the projection.
 void setLatitudeOfTrueScale(double latitudeOfTrueScale)
          Sets the latitude of the true scale.
 void setLLCenter(double lon, double lat)
          Specifies the central meridian and the central parallel associated with the projection and updates the internal parameters.
 void setScaleFactor(double k0)
          Sets the scale factor applied to the central meridian.
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.
 void write(IlvOutputStream stream)
          Writes the object to an IlvOutputStream.
 
Methods inherited from class ilog.views.maps.projection.IlvProjection
addDescription, 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

IlvStereographicProjection

public IlvStereographicProjection()
Creates an instance of the class IlvStereographicProjection.


IlvStereographicProjection

public IlvStereographicProjection(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

IlvStereographicProjection

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

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

copy

public IlvProjection copy()
Copies the projection.

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

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.

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.

sInverse

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

Overrides:
sInverse in class IlvProjection
Parameters:
xy - the Cartesian coordinates.
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()

setEllipsoid

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

Overrides:
setEllipsoid in class IlvProjection
Parameters:
ellipsoid - the ellipsoid
See Also:
IlvEllipsoid

setLatitudeOfTrueScale

public void setLatitudeOfTrueScale(double latitudeOfTrueScale)
Sets the latitude of the true scale. This parameter is used only if the central parallel is located at +90 or -90.

Parameters:
latitudeOfTrueScale - the latitude in radians
See Also:
setScaleFactor(double)

getLatitudeOfTrueScale

public final double getLatitudeOfTrueScale()
Returns the latitude of the true scale.

Returns:
the latitude of the true scale in radians.

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)

setScaleFactor

public void setScaleFactor(double k0)
Sets the scale factor applied to the central meridian. By default, the scale factor is 1. This parameter is not used if the central parallel is located at +90 or -90 and if the latitude of the true scale is provided.

Parameters:
k0 - the scale factor.
See Also:
setLatitudeOfTrueScale(double)

getScaleFactor

public double getScaleFactor()
Returns the scale factor applied to the central meridian.


write

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

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

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.