Class LambertAzimuthalEqualArea

  • All Implemented Interfaces:
    Proj

    public class LambertAzimuthalEqualArea
    extends AbstractProj
    Lambert Azimuthal Equal Area (EPSG code 9820).

    This class has been derived from the implementation of the Geotools project; git 8cbf52d, org.geotools.referencing.operation.projection.LambertAzimuthalEqualArea at the time of migration.

    References:

    • A. Annoni, C. Luzet, E.Gubler and J. Ihde - Map Projections for Europe
    • John P. Snyder (Map Projections - A Working Manual, U.S. Geological Survey Professional Paper 1395)
    See Also:
    Lambert Azimuthal Equal-Area Projection, "Lambert_Azimuthal_Equal_Area"
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private double aPA0
      Coefficients for authalic latitude.
      private double aPA1
      Coefficients for authalic latitude.
      private double aPA2
      Coefficients for authalic latitude.
      private double cosb1
      Constant parameters.
      private double dd
      Constant parameters.
      private static double EPSILON
      Maximum difference allowed when comparing real numbers.
      private static double EPSILON_LATITUDE
      Epsilon for the comparison of latitudes.
      private static double FINE_EPSILON
      Epsilon for the comparison of small quantities.
      private double latitudeOfOrigin  
      private LambertAzimuthalEqualArea.Mode mode
      The projection mode for this particular instance.
      private static double P00
      Constants for authalic latitude.
      private static double P01  
      private static double P02  
      private static double P10  
      private static double P11  
      private static double P20  
      private double qp
      Constant parameters.
      private double rq
      Constant parameters.
      private double sinb1
      Constant parameters.
      private double xmf
      Constant parameters.
      private double ymf
      Constant parameters.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private double authlat​(double beta)
      Determines latitude from authalic latitude.
      Bounds getAlgorithmBounds()
      Return the bounds where this projection is applicable.
      java.lang.String getName()
      Replies a human readable name of this projection.
      java.lang.String getProj4Id()
      Replies the Proj.4 identifier.
      void initialize​(ProjParameters params)
      Initialize the projection using the provided parameters.
      double[] invproject​(double x, double y)
      Convert east/north to lat/lon.
      private double[] invprojectEO​(double x, double y)  
      private double[] invprojectNS​(double x, double y)  
      double[] project​(double phi, double lambda)
      Convert lat/lon to east/north.
      private double qsfn​(double sinphi)
      Calculates q, Snyder equation (3-12)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from interface: Proj
        Replies a human readable name of this projection.
        Returns:
        The projection name. must not be null.
      • getProj4Id

        public java.lang.String getProj4Id()
        Description copied from interface: Proj
        Replies the Proj.4 identifier.
        Returns:
        The Proj.4 identifier (as reported by cs2cs -lp). If no id exists, return null.
      • project

        public double[] project​(double phi,
                                double lambda)
        Description copied from interface: Proj
        Convert lat/lon to east/north.
        Parameters:
        phi - the latitude in radians
        lambda - the longitude in radians
        Returns:
        array of length 2, containing east and north value in meters, divided by the semi major axis of the ellipsoid.
      • invproject

        public double[] invproject​(double x,
                                   double y)
        Description copied from interface: Proj
        Convert east/north to lat/lon.
        Parameters:
        x - east value in meters, divided by the semi major axis of the ellipsoid
        y - north value in meters, divided by the semi major axis of the ellipsoid
        Returns:
        array of length 2, containing lat and lon in radians.
      • invprojectEO

        private double[] invprojectEO​(double x,
                                      double y)
      • invprojectNS

        private double[] invprojectNS​(double x,
                                      double y)
      • qsfn

        private double qsfn​(double sinphi)
        Calculates q, Snyder equation (3-12)
        Parameters:
        sinphi - sin of the latitude q is calculated for.
        Returns:
        q from Snyder equation (3-12).
      • authlat

        private double authlat​(double beta)
        Determines latitude from authalic latitude.
        Parameters:
        beta - authalic latitude
        Returns:
        corresponding latitude
      • getAlgorithmBounds

        public Bounds getAlgorithmBounds()
        Description copied from interface: Proj
        Return the bounds where this projection is applicable. This is a fallback for when the projection bounds are not specified explicitly. In this area, the round trip lat/lon → east/north → lat/lon should return the starting value with small error. In addition, regions with extreme distortions should be excluded, if possible. It need not be the absolute maximum, but rather an area that is safe to display in JOSM and contain everything that one would expect to use.
        Returns:
        the bounds where this projection is applicable, null if unknown