deegree 2.3 (2010/04/09 10:10 build-4-official)

org.deegree.crs.projections.azimuthal
Class StereographicAzimuthal

java.lang.Object
  extended by org.deegree.crs.Identifiable
      extended by org.deegree.crs.projections.Projection
          extended by org.deegree.crs.projections.azimuthal.AzimuthalProjection
              extended by org.deegree.crs.projections.azimuthal.StereographicAzimuthal
All Implemented Interfaces:
Serializable

public class StereographicAzimuthal
extends AzimuthalProjection

The StereographicAzimuthal class allows for Stereographic Projections of the Poles, equator as well as oblique. This projection has following properties (Snyder p. 154):

Like Orthographic, the stereographic projection is a true perspective in its isSpherical() form. It is the only known true perspective projection of any kind that is also conformal. Its point of projection is on the the surface of the sphere at a point jus opposite the oint of tangency of the plane or the center point of the projection. Thus, if the north pole is the center of the map, the projection is from the south-pole.

It is known to be used by following epsg transformations:

Version:
$Revision: 18388 $, $Date: 2009-07-08 15:50:37 +0200 (Mi, 08. Jul 2009) $
Author:
Rutger Bezema, last edited by: $Author: rbezema $
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.deegree.crs.projections.azimuthal.AzimuthalProjection
EQUATOR, NORTH_POLE, OBLIQUE, SOUTH_POLE
 
Constructor Summary
StereographicAzimuthal(double trueScaleLatitude, GeographicCRS geographicCRS, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, Unit units)
          Create a StereographicAzimuthal which has a scale of 1 and a true scale latitude.
StereographicAzimuthal(double trueScaleLatitude, GeographicCRS geographicCRS, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, Unit units, double scale)
          Sets the id to "Snyder-StereoGraphic"
StereographicAzimuthal(double trueScaleLatitude, GeographicCRS geographicCRS, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, Unit units, double scale, Identifiable id)
           
StereographicAzimuthal(double trueScaleLatitude, GeographicCRS geographicCRS, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, Unit units, Identifiable id)
          Create a StereographicAzimuthal which has a scale of 1 and a true scale latitude,
StereographicAzimuthal(GeographicCRS geographicCRS, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, Unit units)
          Create a StereographicAzimuthal which is conformal, has a scale of 1 and a truescale latitude at pi*0.5.
StereographicAzimuthal(GeographicCRS geographicCRS, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, Unit units, double scale)
          Create a StereographicAzimuthal which has a true scale latitude at MapUtils.HALFPI.
StereographicAzimuthal(GeographicCRS geographicCRS, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, Unit units, double scale, Identifiable id)
          Create a StereographicAzimuthal which has a true scale latitude at MapUtils.HALFPI.
StereographicAzimuthal(GeographicCRS geographicCRS, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, Unit units, Identifiable id)
          Create a StereographicAzimuthal which is conformal, has a scale of 1 and a truescale latitude at pi*0.5.
 
Method Summary
 javax.vecmath.Point2d doInverseProjection(double x, double y)
          Do an inverse projection from projected (map) coordinates to geographic coordinates.
 javax.vecmath.Point2d doProjection(double lambda, double phi)
          The actual transform method doing a projection from geographic coordinates to map coordinates.
 String getImplementationName()
           
 double getTrueScaleLatitude()
           
 
Methods inherited from class org.deegree.crs.projections.azimuthal.AzimuthalProjection
getMode, hashCode
 
Methods inherited from class org.deegree.crs.projections.Projection
equals, getCosphi0, getDatum, getEccentricity, getEllipsoid, getFalseEasting, getFalseNorthing, getGeographicCRS, getNaturalOrigin, getPrimeMeridian, getProjectionLatitude, getProjectionLongitude, getScale, getScaleFactor, getSemiMajorAxis, getSemiMinorAxis, getSinphi0, getSquaredEccentricity, getUnits, isConformal, isEqualArea, isSpherical, setFalseEasting, setScale, toString
 
Methods inherited from class org.deegree.crs.Identifiable
checkForNullObject, checkForNullObject, checkForNullObject, getAreaOfUse, getAreaOfUseBBox, getAreasOfUse, getDescription, getDescriptions, getIdAndName, getIdentifier, getIdentifiers, getName, getNames, getVersion, getVersions, hasID
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StereographicAzimuthal

public StereographicAzimuthal(double trueScaleLatitude,
                              GeographicCRS geographicCRS,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              Unit units,
                              double scale,
                              Identifiable id)
Parameters:
trueScaleLatitude - the latitude (in radians) of a circle around the projection point, which contains the true scale.
geographicCRS -
falseNorthing -
falseEasting -
naturalOrigin -
units -
scale -
id - an identifiable instance containing information about this projection

StereographicAzimuthal

public StereographicAzimuthal(double trueScaleLatitude,
                              GeographicCRS geographicCRS,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              Unit units,
                              double scale)
Sets the id to "Snyder-StereoGraphic"

Parameters:
trueScaleLatitude - the latitude (in radians) of a circle around the projection point, which contains the true scale.
geographicCRS -
falseNorthing -
falseEasting -
naturalOrigin -
units -
scale -

StereographicAzimuthal

public StereographicAzimuthal(GeographicCRS geographicCRS,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              Unit units,
                              double scale,
                              Identifiable id)
Create a StereographicAzimuthal which has a true scale latitude at MapUtils.HALFPI.

Parameters:
geographicCRS -
falseNorthing -
falseEasting -
naturalOrigin -
units -
scale -
id - an identifiable instance containing information about this projection

StereographicAzimuthal

public StereographicAzimuthal(GeographicCRS geographicCRS,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              Unit units,
                              double scale)
Create a StereographicAzimuthal which has a true scale latitude at MapUtils.HALFPI. Sets the id to "Snyder-StereoGraphic"

Parameters:
geographicCRS -
falseNorthing -
falseEasting -
naturalOrigin -
units -
scale -

StereographicAzimuthal

public StereographicAzimuthal(double trueScaleLatitude,
                              GeographicCRS geographicCRS,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              Unit units,
                              Identifiable id)
Create a StereographicAzimuthal which has a scale of 1 and a true scale latitude,

Parameters:
trueScaleLatitude - the latitude (in radians) of a circle around the projection point, which contains the true scale.
geographicCRS -
falseNorthing -
falseEasting -
naturalOrigin -
units -
id - an identifiable instance containing information about this projection

StereographicAzimuthal

public StereographicAzimuthal(double trueScaleLatitude,
                              GeographicCRS geographicCRS,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              Unit units)
Create a StereographicAzimuthal which has a scale of 1 and a true scale latitude. Sets the id to "Snyder-StereoGraphic".

Parameters:
trueScaleLatitude - the latitude (in radians) of a circle around the projection point, which contains the true scale.
geographicCRS -
falseNorthing -
falseEasting -
naturalOrigin -
units -

StereographicAzimuthal

public StereographicAzimuthal(GeographicCRS geographicCRS,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              Unit units,
                              Identifiable id)
Create a StereographicAzimuthal which is conformal, has a scale of 1 and a truescale latitude at pi*0.5.

Parameters:
geographicCRS -
falseNorthing -
falseEasting -
naturalOrigin -
units -
id - an identifiable instance containing information about this projection

StereographicAzimuthal

public StereographicAzimuthal(GeographicCRS geographicCRS,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              Unit units)
Create a StereographicAzimuthal which is conformal, has a scale of 1 and a truescale latitude at pi*0.5. Sets the id to "Snyder-StereoGraphic".

Parameters:
geographicCRS -
falseNorthing -
falseEasting -
naturalOrigin -
units -
Method Detail

doInverseProjection

public javax.vecmath.Point2d doInverseProjection(double x,
                                                 double y)
Description copied from class: Projection
Do an inverse projection from projected (map) coordinates to geographic coordinates.

Specified by:
doInverseProjection in class Projection
Parameters:
x - coordinate on the map
y - coordinate on the map
Returns:
the projected Point with x = lambda and y = phi;

doProjection

public javax.vecmath.Point2d doProjection(double lambda,
                                          double phi)
                                   throws ProjectionException
Description copied from class: Projection
The actual transform method doing a projection from geographic coordinates to map coordinates.

Specified by:
doProjection in class Projection
Parameters:
lambda - the longitude
phi - the latitude
Returns:
the projected Point or Point(Double.NAN, Double.NAN) if an error occurred.
Throws:
ProjectionException - if the given lamba and phi coordinates could not be projected to x and y.

getImplementationName

public String getImplementationName()
Specified by:
getImplementationName in class Projection
Returns:
A deegree specific name which will be used for the export of a projection.

getTrueScaleLatitude

public final double getTrueScaleLatitude()
Returns:
the trueScaleLatitude.

deegree 2.3 (2010/04/09 10:10 build-4-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org