All Implemented Interfaces:
Serializable, Parameterized, Lenient­Comparable, Math­Transform, Math­Transform2D

public class Sinusoidal extends NormalizedProjection
Sinusoidal equal-area projection, also known as "Sanson-Flamsteed". See the following references for an overview:
Since:
1.0
See Also:

Defined in the sis-referencing module

  • Constructor Details

    • Sinusoidal

      public Sinusoidal(OperationMethod method, Parameters parameters)
      Creates a Sinusoidal projection from the given parameters. The method argument can be the description of one of the following:
      • "Sinusoidal", also known as "Sanson-Flamsteed".
      Parameters:
      method - description of the projection parameters.
      parameters - the parameter values of the projection to create.
  • Method Details

    • createMapProjection

      public MathTransform createMapProjection(MathTransformFactory factory) throws FactoryException
      Returns the sequence of normalizationthisdenormalization transforms as a whole. The transform returned by this method expects (longitude, latitude) coordinates in degrees and returns (x,y) coordinates in metres.

      The non-linear part of the returned transform will be this transform, except if the ellipsoid is spherical. In the later case, this transform will be replaced by a simplified implementation.

      Overrides:
      create­Map­Projection in class Normalized­Projection
      Parameters:
      factory - the factory to use for creating the transform.
      Returns:
      the map projection from (λ,φ) to (x,y) coordinates.
      Throws:
      Factory­Exception - if an error occurred while creating a transform.
      See Also:
    • transform

      public Matrix transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate) throws ProjectionException
      Converts the specified (λ,φ) coordinate (units in radians) and stores the result in dst­Pts (linear distance on a unit sphere). In addition, opportunistically computes the projection derivative if derivate is true.
      Specified by:
      transform in class Normalized­Projection
      Parameters:
      src­Pts - the array containing the source point coordinate, as (longitude, latitude) angles in radians.
      src­Off - the offset of the single coordinate to be converted in the source array.
      dst­Pts - the array into which the converted coordinate is returned (may be the same than src­Pts). Coordinates will be expressed in a dimensionless unit, as a linear distance on a unit sphere or ellipse.
      dst­Off - the offset of the location of the converted coordinate that is stored in the destination array.
      derivate - true for computing the derivative, or false if not needed.
      Returns:
      the matrix of the projection derivative at the given source position, or null if the derivate argument is false.
      Throws:
      Projection­Exception - if the coordinate can not be converted.
      See Also:
    • inverseTransform

      protected void inverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff)
      Converts the specified (x,y) coordinates and stores the result in dst­Pts (angles in radians).
      Specified by:
      inverse­Transform in class Normalized­Projection
      Parameters:
      src­Pts - the array containing the source point coordinate, as linear distance on a unit sphere or ellipse.
      src­Off - the offset of the point to be converted in the source array.
      dst­Pts - the array into which the converted point coordinate is returned (may be the same than src­Pts). Coordinates will be (longitude, latitude) angles in radians.
      dst­Off - the offset of the location of the converted point that is stored in the destination array.