Class ObliqueStereographic
Object
Formattable
AbstractMathTransform
MapProjection
Stereographic
ObliqueStereographic
- All Implemented Interfaces:
Serializable
,MathTransform
,MathTransform2D
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
andlib_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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
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, en0, en1, en2, en3, en4, excentricity, excentricitySquared, falseEasting, falseNorthing, globalScale, invertible, isSpherical, latitudeOfOrigin, LOGGER, scaleFactor, semiMajor, semiMinor, SKIP_SANITY_CHECKS
Fields inherited from class Formattable
SINGLE_LINE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ObliqueStereographic
(ParameterValueGroup parameters) Constructs an oblique stereographic projection (EPSG equations). -
Method Summary
Modifier and TypeMethodDescriptionprotected 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 inptDst
.protected Point2D
transformNormalized
(double x, double y, Point2D ptDst) Transforms the specified (λ,φ) coordinates (units in radians) and stores the result inptDst
(linear distance on a unit sphere).Methods inherited from class Stereographic
equals, getParameterDescriptors, hashCode
Methods inherited from class MapProjection
checkReciprocal, getParameterValues, getSourceDimensions, getTargetDimensions, inv_mlfn, inverse, mlfn, orthodromicDistance, resetWarnings, transform, transform, transform
Methods inherited from class AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, isIdentity, needCopy, normalizeAngle, rollLongitude, transform, transform, transform
Methods inherited from class Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKT
Methods inherited from interface MathTransform
derivative, isIdentity, toWKT, transform, transform, transform
Methods inherited from interface MathTransform2D
createTransformedShape, derivative
-
Constructor Details
-
ObliqueStereographic
Constructs an oblique stereographic projection (EPSG equations).- Parameters:
parameters
- The group of parameter values.- Throws:
ParameterNotFoundException
- if a required parameter was not found.
-
-
Method Details
-
transformNormalized
Transforms the specified (λ,φ) coordinates (units in radians) and stores the result inptDst
(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 transformingptSrc
, ornull
. 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 inptDst
. - 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 inptDst
.- 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 transformingptSrc
, ornull
. Ordinates will be in radians.- Returns:
- the coordinate point after transforming
x
,y
and storing the result inptDst
. - 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 classMapProjection
- Parameters:
longitude
- The longitude in decimal degrees.latitude
- The latitude in decimal degrees.- Returns:
- The tolerance level for assertions, in meters.
-