Class WinkelTripel
- All Implemented Interfaces:
Serializable
,MathTransform
,MathTransform2D
References:
- http://en.wikipedia.org/wiki/Winkel_tripel_projection
- http://en.wikipedia.org/wiki/Hammer_projection
- Since:
- 2.6.3
- Author:
- Andrea Aime
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
The math transform provider for the Aitoff projection (not part of the EPSG database).static class
The math transform provider for the Winkle Tripel projection projection (not part of the EPSG database).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
WinkelTripel
(WinkelTripel.ProjectionMode mode, ParameterDescriptorGroup descriptors, ParameterValueGroup parameters) Constructs a new map projection from the supplied parameters. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Compares the specified object with this map projection for equality.Returns the parameter descriptors for this map projection.int
hashCode()
Returns a hash value for this projection.protected Point2D
inverseTransformNormalized
(double x, double y, Point2D ptDst) Transforms the specified coordinate and stores the result inptDst
.protected Point2D
transformNormalized
(double lam, double phi, Point2D ptDst) Transforms the specified (λ,φ) coordinates (units in radians) and stores the result inptDst
(linear distance on a unit sphere).Methods inherited from class MapProjection
checkReciprocal, getParameterValues, getSourceDimensions, getTargetDimensions, getToleranceForAssertions, 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
-
WinkelTripel
protected WinkelTripel(WinkelTripel.ProjectionMode mode, ParameterDescriptorGroup descriptors, ParameterValueGroup parameters) throws ParameterNotFoundException Constructs a new map projection from the supplied parameters.- Parameters:
parameters
- The parameter values in standard units.- Throws:
ParameterNotFoundException
- if a mandatory parameter is missing.
-
-
Method Details
-
getParameterDescriptors
Returns the parameter descriptors for this map projection. This is used for a providing a default implementation ofMapProjection.getParameterValues()
, as well as arguments checking.- Specified by:
getParameterDescriptors
in classMapProjection
- Returns:
- The parameter descriptors for this math transform, or
null
. - See Also:
-
transformNormalized
protected Point2D transformNormalized(double lam, double phi, Point2D ptDst) throws ProjectionException Transforms the specified (λ,φ) coordinates (units in radians) and stores the result inptDst
(linear distance on a unit sphere).- Specified by:
transformNormalized
in classMapProjection
- Parameters:
lam
- The longitude of the coordinate, in radians.phi
- 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 Description copied from class:MapProjection
Transforms the specified coordinate and stores the result inptDst
. This method returns longitude as x values in the range[-PI..PI]
and latitude as y values in the range[-PI/2..PI/2]
. It will be checked by the caller, so this method doesn't need to performs this check.Input coordinates have the
MapProjection.falseEasting
andMapProjection.falseNorthing
removed and are divided byMapProjection.globalScale
before this method is invoked. After this method is invoked, theMapProjection.centralMeridian
is added to thex
results inptDst
. This means that projections that implement this method are performed on an ellipse (or sphere) with a semi-major axis of 1.In PROJ.4, the same standardization, described above, is handled by
pj_inv.c
. Therefore when porting projections from PROJ.4, the inverse transform equations can be used directly here with minimal change. In the equations of Snyder,MapProjection.falseEasting
,MapProjection.falseNorthing
andMapProjection.scaleFactor
are usually not given. When implementing these equations here, you will not need to add theMapProjection.centralMeridian
to the output longitude or remove theMapProjection.semiMajor
(a or R).- Specified by:
inverseTransformNormalized
in classMapProjection
- 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.
-
hashCode
public int hashCode()Returns a hash value for this projection.- Overrides:
hashCode
in classMapProjection
-
equals
Compares the specified object with this map projection for equality.- Overrides:
equals
in classMapProjection
- Parameters:
object
- The object to compare with this transform.- Returns:
true
if the given object is a transform of the same class and if, given identical source position, the transformed position would be the equals.
-