org.deegree.cs.projections
Interface IProjection

All Superinterfaces:
CRSResource, Object, TypedObjectNode
All Known Subinterfaces:
IConicProjection, ILambertAzimuthalEqualArea, ILambertConformalConic, IMercator, IStereographicAlternative, IStereographicAzimuthal, ITransverseMercator
All Known Implementing Classes:
AzimuthalProjection, ConicProjection, CylindricalProjection, LambertAzimuthalEqualArea, LambertAzimuthalEqualAreaRef, LambertConformalConic, LambertConformalConicRef, Mercator, MercatorRef, Projection, ProjectionRef, StereographicAlternative, StereographicAlternativeRef, StereographicAzimuthal, StereographicAzimuthalRef, TransverseMercator, TransverseMercatorRef

public interface IProjection
extends CRSResource

Interface describing a general projection

Version:
$Revision: $, $Date: $
Author:
Lyn Buesching, last edited by: $Author: lyn $

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.
 double getCosphi0()
           
 double getEccentricity(IGeographicCRS geographicCRS)
           
 IEllipsoid getEllipsoid(IGeographicCRS geographicCRS)
           
 double getFalseEasting()
           
 double getFalseNorthing()
           
 String getImplementationName()
           
 javax.vecmath.Point2d getNaturalOrigin()
           
 IPrimeMeridian getPrimeMeridian(IGeographicCRS geographicCRS)
           
 double getProjectionLatitude()
           
 double getProjectionLongitude()
           
 double getScale()
           
 double getScaleFactor(IGeographicCRS geographicCRS)
           
 double getSemiMajorAxis(IGeographicCRS geographicCRS)
           
 double getSemiMinorAxis(IGeographicCRS geographicCRS)
           
 double getSinphi0()
           
 double getSquaredEccentricity(IGeographicCRS geographicCRS)
           
 IUnit getUnits()
           
 boolean isConformal()
           
 boolean isEqualArea()
           
 boolean isSpherical(IGeographicCRS geographicCRS)
           
 void setFalseEasting(double newFalseEasting)
          sets the false easting to given value.
 void setScale(double scale)
          Sets the old scale to the given scale, also adjusts the scaleFactor.
 
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
 

Method Detail

doProjection

javax.vecmath.Point2d doProjection(IGeographicCRS geographicCRS,
                                   double lambda,
                                   double phi)
                                   throws ProjectionException
The actual transform method doing a projection from geographic coordinates to map coordinates.

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.

doInverseProjection

javax.vecmath.Point2d doInverseProjection(IGeographicCRS geographicCRS,
                                          double x,
                                          double y)
                                          throws ProjectionException
Do an inverse projection from projected (map) coordinates to geographic coordinates.

Parameters:
x - coordinate on the map
y - coordinate on the map
Returns:
the projected Point with x = lambda and y = phi;
Throws:
ProjectionException - if the given x and y coordinates could not be inverted to lambda and phi.

getImplementationName

String getImplementationName()
Returns:
A deegree specific name which will be used for the export of a projection.

isConformal

boolean isConformal()
Returns:
true if the projection projects conformal.

isEqualArea

boolean isEqualArea()
Returns:
true if the projection is projects equal Area.

getScale

double getScale()
Returns:
the scale.

setScale

void setScale(double scale)
Sets the old scale to the given scale, also adjusts the scaleFactor.

Parameters:
scale - the new scale

getScaleFactor

double getScaleFactor(IGeographicCRS geographicCRS)
Returns:
the scale*semimajor-axis, often revered to as R*k_0 in Snyder.

getFalseEasting

double getFalseEasting()
Returns:
the falseEasting.

setFalseEasting

void setFalseEasting(double newFalseEasting)
sets the false easting to given value. (Used in for example transverse mercator, while setting the utm zone).

Parameters:
newFalseEasting - the new false easting parameter.

getFalseNorthing

double getFalseNorthing()
Returns:
the falseNorthing.

getNaturalOrigin

javax.vecmath.Point2d getNaturalOrigin()
Returns:
the naturalOrigin.

getUnits

IUnit getUnits()
Returns:
the units.

getPrimeMeridian

IPrimeMeridian getPrimeMeridian(IGeographicCRS geographicCRS)
Returns:
the primeMeridian of the datum.

getEllipsoid

IEllipsoid getEllipsoid(IGeographicCRS geographicCRS)
Returns:
the ellipsoid of the datum.

getEccentricity

double getEccentricity(IGeographicCRS geographicCRS)
Returns:
the eccentricity of the ellipsoid of the datum.

getSquaredEccentricity

double getSquaredEccentricity(IGeographicCRS geographicCRS)
Returns:
the eccentricity of the ellipsoid of the datum.

getSemiMajorAxis

double getSemiMajorAxis(IGeographicCRS geographicCRS)
Returns:
the semiMajorAxis (a) of the ellipsoid of the datum.

getSemiMinorAxis

double getSemiMinorAxis(IGeographicCRS geographicCRS)
Returns:
the semiMinorAxis (a) of the ellipsoid of the datum.

isSpherical

boolean isSpherical(IGeographicCRS geographicCRS)
Returns:
true if the ellipsoid of the datum is a sphere and not an ellipse.

getProjectionLatitude

double getProjectionLatitude()
Returns:
the projectionLatitude also known as central-latitude or latitude-of-origin, in Snyder referenced as phi_1 for azimuthal, phi_0 for other projections.

getProjectionLongitude

double getProjectionLongitude()
Returns:
the projectionLongitude also known as projection-meridian or central-meridian, in Snyder referenced as lambda_0

getSinphi0

double getSinphi0()
Returns:
the sinphi0, the sine of the projection latitude

getCosphi0

double getCosphi0()
Returns:
the cosphi0, the cosine of the projection latitude


Copyright © 2011. All Rights Reserved.