Class AzimuthalEquidistant

All Implemented Interfaces:
Serializable, Parameterized, LenientComparable, org.opengis.referencing.operation.MathTransform, org.opengis.referencing.operation.MathTransform2D
Direct Known Subclasses:
ModifiedAzimuthalEquidistant

public class AzimuthalEquidistant extends NormalizedProjection
Azimuthal Equidistant (Spherical) projection. This projection method has no EPSG code. See the following references for an overview: Current implementation supports only the spherical case. For ellipsoidal formulas, the ModifiedAzimuthalEquidistant class provides an approximation valid under 800 kilometres of the projection centre.
Note of projection variants: formulas for this map projection have been published by Snyder (1987) in the following forms:
  • Azimuthal Equidistant projection for the sphere. This form has no EPSG code. It is implemented in Apache SIS as "Azimuthal Equidistant (Spherical)".
  • Polar aspect of ellipsoidal Azimuthal Equidistant. This form has no EPSG code. It is not yet implemented in Apache SIS.
  • Oblique and equatorial aspects of ellipsoidal Azimuthal Equidistant:
    • Nearly rigorous sets of formulas. The EPSG name is "Modified Azimuthal Equidistant" (EPSG:9832). This projection is implemented by ModifiedAzimuthalEquidistant.
    • Approximate sets of formulas. The EPSG name is "Guam projection" (EPSG:9831). This projection is not yet implemented in Apache SIS.
This base class is aimed to provide the general case valid for all distances; the fact that current version uses spherical formulas should be considered as an implementation limitation that may change in future version. Subclasses are specialization for more restricted areas.
Since:
1.1
Version:
1.1
Author:
Martin Desruisseaux (Geomatys), Maxime Gavens (Geomatys)
See Also:
  • Constructor Details

    • AzimuthalEquidistant

      public AzimuthalEquidistant(org.opengis.referencing.operation.OperationMethod method, Parameters parameters)
      Creates a Azimuthal Equidistant projection from the given parameters. The method argument can be the description of one of the following:
      • "Azimuthal Equidistant (Spherical)".
      Parameters:
      method - description of the projection parameters.
      parameters - the parameter values of the projection to create.
  • Method Details

    • transform

      public org.opengis.referencing.operation.Matrix transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate) throws ProjectionException
      Projects the specified (λ,φ) coordinates (units in radians) and stores the result in dstPts. In addition, opportunistically computes the projection derivative if derivate is true. The results must be multiplied by the denormalization matrix before to get linear distances.
      Specified by:
      transform in class NormalizedProjection
      Parameters:
      srcPts - source point coordinates, as (longitude, latitude) in radians.
      srcOff - the offset of the single coordinate tuple to be converted in the source array.
      dstPts - the array into which the converted coordinates is returned (may be the same than srcPts).
      dstOff - 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:
      ProjectionException - 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 dstPts (angles in radians).
      Specified by:
      inverseTransform in class NormalizedProjection
      Parameters:
      srcPts - the array containing the source point coordinates, as linear distance on a unit sphere or ellipse.
      srcOff - the offset of the point to be converted in the source array.
      dstPts - the array into which the converted point coordinates is returned (may be the same than srcPts).
      dstOff - the offset of the location of the converted point that is stored in the destination array.
      Throws:
      ProjectionException - if the point cannot be converted.