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

public class Polyconic extends NormalizedProjection
American Polyconic projection (EPSG codes 9818). This projection has the following properties:
  • Neither conformal nor equal-area.
  • Parallels of latitude (except for Equator) are arcs of circles, but are not concentrics.
  • Central Meridian and Equator are straight lines; all other meridians are complex curves.
  • Scale is true along each parallel and along the central meridian, but no parallel is "standard".
  • Free of distortion only along the central meridian.

References

  • John P. Snyder (Map Projections - A Working Manual,
    U.S. Geological Survey Professional Paper 1395, 1987)
  • "Coordinate Conversions and Transformations including Formulas",
    EPSG Guidance Note Number 7.
Since:
1.0
See Also:

Defined in the sis-referencing module

  • Constructor Details

    • Polyconic

      public Polyconic(OperationMethod method, Parameters parameters)
      Creates a Polyconic projection from the given parameters. The method argument can be the description of one of the following:
      • "American Polyconic".
      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 coordinates can not be converted.
      See Also:
    • inverseTransform

      protected void inverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff) throws ProjectionException
      Transforms 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.
      Throws:
      Projection­Exception - if the coordinates can not be converted.