Class AlbersEqualArea

  • All Implemented Interfaces:
    Serializable, MathTransform, MathTransform2D

    public class AlbersEqualArea
    extends MapProjection
    Albers Equal Area Projection (EPSG code 9822). This is a conic projection with parallels being unequally spaced arcs of concentric circles, more closely spaced at north and south edges of the map. Merideans are equally spaced radii of the same circles and intersect parallels at right angles. As the name implies, this projection minimizes distortion in areas.

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

    NOTE: formulae used below are from a port, to Java, of the proj4 package of the USGS survey. USGS work is acknowledged here.

    References:

    • Proj-4.4.7 available at www.remotesensing.org/proj
      Relevent files are: PJ_aea.c, pj_fwd.c and pj_inv.c
    • 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:
    Gerald I. Evenden (for original code in Proj4), Rueben Schulz
    See Also:
    Albers Equal-Area Conic Projection on MathWorld, "Albers_Conic_Equal_Area" on RemoteSensing.org, British Columbia Albers Standard Projection, 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.