Class AzimuthalEquidistant

All Implemented Interfaces:
Serializable, Parameterized, Lenient­Comparable, Math­Transform, Math­Transform2D
Direct Known Subclasses:
Modified­Azimuthal­Equidistant

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 Modified­Azimuthal­Equidistant 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 Modified­Azimuthal­Equidistant.
    • 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
See Also:

Defined in the sis-referencing module

  • Constructor Details

    • AzimuthalEquidistant

      public AzimuthalEquidistant(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 Matrix transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, boolean derivate) throws ProjectionException
      Converts the specified (λ,φ) coordinate and stores the (x,y) result in dst­Pts.
      Specified by:
      transform in class Normalized­Projection
      Parameters:
      src­Pts - source point coordinate, as (longitude, latitude) in radians.
      src­Off - the offset of the single coordinate to be converted in the source array.
      dst­Pts - the array into which the converted coordinate is returned (may be the same than src­Pts).
      dst­Off - the offset of the location of the converted coordinate 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 coordinate can not 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 (angles in radians).
      Specified by:
      inverse­Transform in class Normalized­Projection
      Parameters:
      src­Pts - the array containing the source point coordinate, 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 coordinate is returned (may be the same than src­Pts).
      dst­Off - the offset of the location of the converted point that is stored in the destination array.
      Throws:
      Projection­Exception - if the point can not be converted.