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:
    Lambert conformal conic projection on MathWorld, lambert_conic_conformal_1sp, lambert_conic_conformal_2sp, lambert_conic_conformal_2sp_belgium, Serialized Form
    • Method Detail

      • 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.