Class Homolosine
- Object
-
- Formattable
-
- AbstractMathTransform
-
- MapProjection
-
- Homolosine
-
- All Implemented Interfaces:
Serializable
,MathTransform
,MathTransform2D
public class Homolosine extends MapProjection
Homolosine projection
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Homolosine.Provider
The math transform provider for the Homolosine 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
Constructors Modifier Constructor Description protected
Homolosine(ParameterDescriptorGroup descriptors, ParameterValueGroup parameters)
Constructs a new map projection from the supplied parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double
computeOffset()
Computes the Northing difference between Sinusoidal and Mollweide at the threshold latitude.ParameterDescriptorGroup
getParameterDescriptors()
Returns the parameter descriptors for this map projection.protected Point2D
inverseTransformNormalized(double x, double y, Point2D ptDst)
Transforms the specified (x,y) coordinates 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).protected double
wrapLatitude(double phi)
Wraps latitude angles around.protected double
wrapLongitude(double lam)
Wraps longitude angles around.-
Methods inherited from class MapProjection
checkReciprocal, equals, getParameterValues, getSourceDimensions, getTargetDimensions, getToleranceForAssertions, hashCode, 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 Detail
-
Homolosine
protected Homolosine(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 Detail
-
getParameterDescriptors
public ParameterDescriptorGroup 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:
OperationMethod.getParameters()
-
computeOffset
protected double computeOffset() throws ProjectionException
Computes the Northing difference between Sinusoidal and Mollweide at the threshold latitude.- Returns:
- Northing offset between Sinusoidal and Mollweide at threshold latitude.
- Throws:
ProjectionException
-
wrapLongitude
protected double wrapLongitude(double lam) throws ProjectionException
Wraps longitude angles around.- Parameters:
lam
- A longitude angle in radians .- Returns:
- Longitude angle within the [-PI, PI] interval.
- Throws:
ProjectionException
-
wrapLatitude
protected double wrapLatitude(double phi) throws ProjectionException
Wraps latitude angles around.- Parameters:
phi
- A latitude angle in radians.- Returns:
- Latitude angle within the [-PI/2, PI/2] interval.
- Throws:
ProjectionException
-
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
Transforms the specified (x,y) coordinates and stores the result inptDst
.- 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.
-
-