org.deegree.cs.projections.azimuthal
Class StereographicAzimuthal

java.lang.Object
  extended by org.deegree.cs.CRSIdentifiable
      extended by org.deegree.cs.projections.Projection
          extended by org.deegree.cs.projections.azimuthal.AzimuthalProjection
              extended by org.deegree.cs.projections.azimuthal.StereographicAzimuthal
All Implemented Interfaces:
Object, TypedObjectNode, CRSResource, IProjection

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: 29642 $, $Date: 2011-02-11 13:59:33 +0100 (Fri, 11 Feb 2011) $
Author:
Rutger Bezema, last edited by: $Author: lbuesching $

Field Summary
 
Fields inherited from class org.deegree.cs.projections.azimuthal.AzimuthalProjection
EQUATOR, NORTH_POLE, OBLIQUE, SOUTH_POLE
 
Constructor Summary
StereographicAzimuthal(double trueScaleLatitude, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, IUnit units)
          Create a StereographicAzimuthal which has a scale of 1 and a true scale latitude.
StereographicAzimuthal(double trueScaleLatitude, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, IUnit units, CRSIdentifiable id)
          Create a StereographicAzimuthal which has a scale of 1 and a true scale latitude,
StereographicAzimuthal(double trueScaleLatitude, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, IUnit units, double scale)
          Sets the id to "Snyder-StereoGraphic"
StereographicAzimuthal(double trueScaleLatitude, double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, IUnit units, double scale, CRSResource id)
           
StereographicAzimuthal(double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, IUnit units)
          Create a StereographicAzimuthal which is conformal, has a scale of 1 and a truescale latitude at pi*0.5.
StereographicAzimuthal(double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, IUnit units, CRSResource id)
          Create a StereographicAzimuthal which is conformal, has a scale of 1 and a truescale latitude at pi*0.5.
StereographicAzimuthal(double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, IUnit units, double scale)
          Create a StereographicAzimuthal which has a true scale latitude at MapUtils.HALFPI.
StereographicAzimuthal(double falseNorthing, double falseEasting, javax.vecmath.Point2d naturalOrigin, IUnit units, double scale, CRSResource id)
          Create a StereographicAzimuthal which has a true scale latitude at MapUtils.HALFPI.
 
Method Summary
 javax.vecmath.Point2d doInverseProjection(IGeographicCRS geographicCRS, double x, double y)
          Do an inverse projection from projected (map) coordinates to geographic coordinates.
 javax.vecmath.Point2d doProjection(IGeographicCRS geographicCRS, 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.cs.projections.azimuthal.AzimuthalProjection
getMode, hashCode
 
Methods inherited from class org.deegree.cs.projections.Projection
equals, getCosphi0, getEccentricity, getEllipsoid, getFalseEasting, getFalseNorthing, getNaturalOrigin, getPrimeMeridian, getProjectionLatitude, getProjectionLongitude, getScale, getScaleFactor, getSemiMajorAxis, getSemiMinorAxis, getSinphi0, getSquaredEccentricity, getUnits, isConformal, isEqualArea, isSpherical, setFalseEasting, setScale, toString
 
Methods inherited from class org.deegree.cs.CRSIdentifiable
addAreaOfUse, addName, checkForNullObject, checkForNullObject, checkForNullObject, getAreaOfUse, getAreaOfUseBBox, getAreasOfUse, getCode, getCodeAndName, getCodes, getDescription, getDescriptions, getId, getName, getNames, getOrignalCodeStrings, getVersion, getVersions, hasCode, hasId, hasIdOrName, setDefaultAreaOfUse, setDefaultDescription, setDefaultId, setDefaultName, setDefaultVersion
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.deegree.cs.CRSResource
addAreaOfUse, addName, getAreaOfUse, getAreaOfUseBBox, getAreasOfUse, getCode, getCodeAndName, getCodes, getDescription, getDescriptions, getName, getNames, getOrignalCodeStrings, getVersion, getVersions, hasCode, hasId, hasIdOrName, setDefaultAreaOfUse, setDefaultDescription, setDefaultId, setDefaultName, setDefaultVersion
 
Methods inherited from interface org.deegree.commons.tom.Object
getId
 

Constructor Detail

StereographicAzimuthal

public StereographicAzimuthal(double trueScaleLatitude,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              IUnit units,
                              double scale,
                              CRSResource 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,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              IUnit 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(double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              IUnit units,
                              double scale,
                              CRSResource 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(double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              IUnit 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,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              IUnit units,
                              CRSIdentifiable 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,
                              double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              IUnit 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(double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              IUnit units,
                              CRSResource 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(double falseNorthing,
                              double falseEasting,
                              javax.vecmath.Point2d naturalOrigin,
                              IUnit 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(IGeographicCRS geographicCRS,
                                                 double x,
                                                 double y)
Description copied from class: Projection
Do an inverse projection from projected (map) coordinates to geographic coordinates.

Specified by:
doInverseProjection in interface IProjection
Specified by:
doInverseProjection in class Projection
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(IGeographicCRS geographicCRS,
                                          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 interface IProjection
Specified by:
doProjection in class Projection
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 interface IProjection
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.


Copyright © 2011. All Rights Reserved.