Class LambertConicConformal

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

public class LambertConicConformal extends NormalizedProjection
Lambert Conic Conformal projection (EPSG codes 9801, 9802, 9803, 9826, 1051). See the following references for an overview:

Description

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 and some European countries.
Since:
0.6
See Also:

Defined in the sis-referencing module

  • Constructor Details

    • LambertConicConformal

      public LambertConicConformal(OperationMethod method, Parameters parameters)
      Creates a Lambert projection from the given parameters. The method argument can be the description of one of the following:
      • "Lambert Conic Conformal (1SP)".
      • "Lambert Conic Conformal (West Orientated)".
      • "Lambert Conic Conformal (2SP)".
      • "Lambert Conic Conformal (2SP Belgium)".
      • "Lambert Conic Conformal (2SP Michigan)".
      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 latter case, this transform may 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:
    • getDomain

      public Optional<Envelope> getDomain(DomainDefinition criteria)
      Returns the domain of input coordinates. The limits defined by this method are arbitrary and may change in any future implementation. Current implementation sets a longitude range of ±180° (i.e. the world) and a latitude range from pole to equator in the hemisphere of the projection.
      Overrides:
      get­Domain in class Abstract­Math­Transform
      Parameters:
      criteria - controls the definition of transform domain.
      Returns:
      estimation of a domain where this transform is considered numerically applicable.
      Since:
      1.3
      See Also:
    • transform

      public Matrix transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate) throws ProjectionException
      Projects the specified (θ,φ) coordinates and stores the result in dst­Pts. In addition, opportunistically computes the projection derivative if derivate is true. The units of measurement are implementation-specific (see super-class javadoc). The results must be multiplied by the denormalization matrix before to get linear distances.
      Specified by:
      transform in class Normalized­Projection
      Parameters:
      src­Pts - the array containing the source point coordinates, as (longitude, latitude) angles in radians.
      src­Off - the offset of the single coordinate tuple to be converted in the source array.
      dst­Pts - the array into which the converted coordinates 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 coordinates 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 cannot be converted.
      See Also:
    • inverseTransform

      protected void inverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff) throws ProjectionException
      Converts the specified (x,y) coordinates and stores the (θ,φ) result in dst­Pts.
      Specified by:
      inverse­Transform in class Normalized­Projection
      Parameters:
      src­Pts - the array containing the source point coordinates, 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 coordinates 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 point cannot be converted.