Class GeostationarySatellite.Spherical
- All Implemented Interfaces:
Serializable,MathTransform,MathTransform2D
- Enclosing class:
- GeostationarySatellite
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class GeostationarySatellite
GeostationarySatellite.Ellipsoidal, GeostationarySatellite.Provider, GeostationarySatellite.SphericalNested 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_CHECKSFields inherited from class Formattable
SINGLE_LINE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Point2DinverseTransformNormalized(double x, double y, Point2D p2d) Transforms the specified coordinate and stores the result inptDst.protected Point2DtransformNormalized(double lambda, double phi, Point2D p2d) Transforms the specified coordinate and stores the result inptDst.Methods inherited from class GeostationarySatellite
circumscribeFullDisk, equals, getParameterDescriptors, getParameterValues, hashCode, inscribeFullDiskEstimateMethods inherited from class MapProjection
checkReciprocal, getSourceDimensions, getTargetDimensions, getToleranceForAssertions, inv_mlfn, inverse, mlfn, orthodromicDistance, resetWarnings, transform, transform, transformMethods inherited from class AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, isIdentity, needCopy, normalizeAngle, rollLongitude, transform, transform, transformMethods inherited from class Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKTMethods inherited from interface MathTransform
derivative, isIdentity, toWKT, transform, transform, transformMethods inherited from interface MathTransform2D
createTransformedShape, derivative
-
Constructor Details
-
Spherical
- Throws:
ParameterNotFoundException
-
-
Method Details
-
transformNormalized
protected Point2D transformNormalized(double lambda, double phi, Point2D p2d) throws ProjectionException Description copied from class:MapProjectionTransforms the specified coordinate and stores the result inptDst. This method is usually (but not guaranteed) to be invoked with values of x in the range[-PI..PI]and values of y in the range[-PI/2..PI/2]. Values outside those ranges are accepted (sometime with a warning logged) on the assumption that most implementations use those values only in trigonometric functions like sin and cos.Coordinates have the
MapProjection.centralMeridianremoved from lambda before this method is invoked. After this method is invoked, the results inptDstare multiplied byMapProjection.globalScale, and theMapProjection.falseEastingandMapProjection.falseNorthingare added. 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_fwd.c. Therefore when porting projections from PROJ.4, the forward transform equations can be used directly here with minimal change. In the equations of Snyder,MapProjection.falseEasting,MapProjection.falseNorthingandMapProjection.scaleFactorare usually not given. When implementing these equations here, you will not need to remove theMapProjection.centralMeridianfrom lambda or apply theMapProjection.semiMajor(a or R).- Specified by:
transformNormalizedin classMapProjection- Parameters:
lambda- The longitude of the coordinate, in radians.phi- The latitude of the coordinate, in radians.p2d- 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 p2d) throws ProjectionException Description copied from class:MapProjectionTransforms 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.falseEastingandMapProjection.falseNorthingremoved and are divided byMapProjection.globalScalebefore this method is invoked. After this method is invoked, theMapProjection.centralMeridianis added to thexresults 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.falseNorthingandMapProjection.scaleFactorare usually not given. When implementing these equations here, you will not need to add theMapProjection.centralMeridianto the output longitude or remove theMapProjection.semiMajor(a or R).- Specified by:
inverseTransformNormalizedin 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.p2d- the specified coordinate point that stores the result of transformingptSrc, ornull. Ordinates will be in radians.- Returns:
- the coordinate point after transforming
x,yand storing the result inptDst. - Throws:
ProjectionException- if the point can't be transformed.
-