org.geotools.referencing.operation.projection
Class ObliqueStereographic
Object
Formattable
AbstractMathTransform
MapProjection
Stereographic
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:
libproj4
is available at
libproj4 Miscellanea
Relevent files are: PJ_sterea.c
, pj_gauss.c
,
pj_fwd.c
, pj_inv.c
and lib_proj.h
- Gerald Evenden.
"Supplementary PROJ.4 Notes - Oblique Stereographic Alternative"
- "Coordinate Conversions and Transformations including Formulas",
EPSG Guidence Note Number 7, Version 19.
- Krakiwsky, E.J., D.B. Thomson, and R.R. Steeves. 1977. A Manual
For Geodetic Coordinate Transformations in the Maritimes.
Geodesy and Geomatics Engineering, UNB. Technical Report No. 48.
- Thomson, D.B., M.P. Mepham and R.R. Steeves. 1977.
The Stereographic Double Projection.
Surveying Engineering, University of New Brunswick. Technical Report No. 46.
- Since:
- 2.4
- Author:
- Gerald I. Evenden (for original code in Proj4), Rueben Schulz
- See Also:
- Serialized Form
- Module:
Fields inherited from class MapProjection |
centralMeridian, excentricity, excentricitySquared, falseEasting, falseNorthing, globalScale, isSpherical, latitudeOfOrigin, LOGGER, scaleFactor, semiMajor, semiMinor |
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 AbstractMathTransform |
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, isIdentity, needCopy, rollLongitude, transform, transform, transform |
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.
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.