Class LambertConformal

All Implemented Interfaces:
Serializable, MathTransform, MathTransform2D
Direct Known Subclasses:
LambertConformal1SP, LambertConformal2SP, LambertConformalBelgium

public abstract class LambertConformal extends MapProjection
Lambert Conical Conformal Projection. Areas and shapes are deformed as one moves away from standard parallels. The angles are true in a limited area. This projection is used for the charts of North America.

This implementation provides transforms for three cases of the lambert conic conformal projection:

  • Lambert_Conformal_Conic_1SP (EPSG code 9801)
  • Lambert_Conformal_Conic_2SP (EPSG code 9802)
  • Lambert_Conic_Conformal_2SP_Belgium (EPSG code 9803)
  • Lambert_Conformal_Conic - An alias for the ESRI 2SP case that includes a scale_factor parameter

For the 1SP case the latitude of origin is used as the standard parallel (SP). To use 1SP with a latitude of origin different from the SP, use the 2SP and set the SP1 to the single SP. The standard_parallel_2" parameter is optional and will be given the same value as "standard_parallel_1" if not set (creating a 1 standard parallel projection).

References:

  • John P. Snyder (Map Projections - A Working Manual,
    U.S. Geological Survey Professional Paper 1395, 1987)
  • "Coordinate Conversions and Transformations including Formulas",
    EPSG Guidence Note Number 7, Version 19.
Since:
2.1
Author:
André Gosselin, Martin Desruisseaux (PMO, IRD), Rueben Schulz
See Also:
  • Constructor Details

  • Method Details

    • getParameterValues

      public ParameterValueGroup getParameterValues()
      Returns the parameter values for this map projection.
      Overrides:
      getParameterValues in class MapProjection
      Returns:
      A copy of the parameter values for this map projection.
      See Also:
    • transformNormalized

      protected Point2D transformNormalized(double x, double y, Point2D ptDst) throws ProjectionException
      Transforms the specified (λ,φ) coordinates (units in radians) and stores the result in ptDst (linear distance on a unit sphere).
      Specified by:
      transformNormalized in class MapProjection
      Parameters:
      x - The longitude of the coordinate, in radians.
      y - The latitude of the coordinate, in radians.
      ptDst - the specified coordinate point that stores the result of transforming ptSrc, or null. 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 in ptDst.
      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 in ptDst.
      Specified by:
      inverseTransformNormalized in class MapProjection
      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 transforming ptSrc, or null. Ordinates will be in radians.
      Returns:
      the coordinate point after transforming x, y and storing the result in ptDst.
      Throws:
      ProjectionException - if the point can't be transformed.
    • hashCode

      public int hashCode()
      Returns a hash value for this projection.
      Overrides:
      hashCode in class MapProjection
    • equals

      public boolean equals(Object object)
      Compares the specified object with this map projection for equality.
      Overrides:
      equals in class MapProjection
      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.