org.geotools.referencing.operation.projection
Class ObliqueStereographic

Object
  extended by Formattable
      extended by AbstractMathTransform
          extended by MapProjection
              extended by Stereographic
                  extended by ObliqueStereographic
All Implemented Interfaces:
Serializable, MathTransform, MathTransform2D

public class ObliqueStereographic
extends Stereographic

Provides the transform equations for the Oblique Stereographic (EPSG code 9809). The formulas used below are not from the EPSG, but rather those of the "Oblique Stereographic Alternative" in the libproj4 package written by Gerald Evenden. His work is acknowledged here and greatly appreciated.

The forward equations used in libproj4 are the same as those given in the UNB reports for the Double Stereographic. The inverse equations are similar, but use different methods to iterate for the latitude.

References:

Since:
2.4
Author:
Gerald I. Evenden (for original code in Proj4), Rueben Schulz
See Also:
Serialized Form
Module:
modules/library/referencing (gt-referencing.jar)

Nested Class Summary
static class ObliqueStereographic.Provider
          The math transform provider for a stereographic projection of any kind.
 
Nested classes/interfaces inherited from class MapProjection
MapProjection.AbstractProvider
 
Field Summary
 
Fields inherited from class MapProjection
centralMeridian, excentricity, excentricitySquared, falseEasting, falseNorthing, globalScale, isSpherical, latitudeOfOrigin, LOGGER, scaleFactor, semiMajor, semiMinor
 
Fields inherited from class Formattable
SINGLE_LINE
 
Constructor Summary
protected ObliqueStereographic(ParameterValueGroup parameters)
          Constructs an oblique stereographic projection (EPSG equations).
 
Method Summary
protected  double getToleranceForAssertions(double longitude, double latitude)
          Maximal error (in metres) tolerated for assertions, if enabled.
protected  Point2D inverseTransformNormalized(double x, double y, Point2D ptDst)
          Transforms the specified (x,y) coordinates and stores the result in ptDst.
protected  Point2D transformNormalized(double x, double y, Point2D ptDst)
          Transforms the specified (λ,φ) coordinates (units in radians) and stores the result in ptDst (linear distance on a unit sphere).
 
Methods inherited from class Stereographic
equals, getParameterDescriptors
 
Methods inherited from class MapProjection
getParameterValues, getSourceDimensions, getTargetDimensions, hashCode, inverse, resetWarnings, transform, transform, transform
 
Methods inherited from class AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, isIdentity, needCopy, rollLongitude, transform, transform, transform
 
Methods inherited from class Formattable
toString, toWKT, toWKT, toWKT
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface MathTransform2D
createTransformedShape, derivative
 
Methods inherited from interface MathTransform
derivative, isIdentity, toWKT, transform, transform, transform
 

Constructor Detail

ObliqueStereographic

protected ObliqueStereographic(ParameterValueGroup parameters)
                        throws ParameterNotFoundException
Constructs an oblique stereographic projection (EPSG equations).

Parameters:
parameters - The group of parameter values.
Throws:
ParameterNotFoundException - if a required parameter was not found.
Method Detail

transformNormalized

protected Point2D transformNormalized(double x,
                                      double y,
                                      Point2D ptDst)
                               throws ProjectionException
Transforms the specified (λ,φ) coordinates (units in radians) and stores the result in ptDst (linear distance on a unit sphere).

Parameters:
x - The longitude of the coordinate, in radians.
y - The latitude of the coordinate, in radians.
ptDst - the specified coordinate point that stores the result of transforming ptSrc, or null. Ordinates will be in a dimensionless unit, as a linear distance on a unit sphere or ellipse.
Returns:
the coordinate point after transforming (lambda, phi) and storing the result in ptDst.
Throws:
ProjectionException - if the point can't be transformed.

inverseTransformNormalized

protected Point2D inverseTransformNormalized(double x,
                                             double y,
                                             Point2D ptDst)
                                      throws ProjectionException
Transforms the specified (x,y) coordinates and stores the result in ptDst.

Parameters:
x - The easting of the coordinate, linear distance on a unit sphere or ellipse.
y - The northing of the coordinate, linear distance on a unit sphere or ellipse.
ptDst - the specified coordinate point that stores the result of transforming ptSrc, or null. Ordinates will be in radians.
Returns:
the coordinate point after transforming x, y and storing the result in ptDst.
Throws:
ProjectionException - if the point can't be transformed.

getToleranceForAssertions

protected double getToleranceForAssertions(double longitude,
                                           double latitude)
Maximal error (in metres) tolerated for assertions, if enabled.

Overrides:
getToleranceForAssertions in class MapProjection
Parameters:
longitude - The longitude in decimal degrees.
latitude - The latitude in decimal degrees.
Returns:
The tolerance level for assertions, in meters.


Copyright © 1996-2009 Geotools. All Rights Reserved.