org.geotoolkit.referencing.operation.projection
Class CassiniSoldner

Object
  extended by FormattableObject
      extended by AbstractMathTransform
          extended by AbstractMathTransform2D
              extended by UnitaryProjection
                  extended by CassiniSoldner
All Implemented Interfaces:
Serializable, Formattable, Parameterized, LenientComparable, MathTransform, MathTransform2D

@Immutable
public class CassiniSoldner
extends UnitaryProjection

Cassini-Soldner Projection (EPSG code 9806). See the Cassini projection on MathWorld for an overview. See any of the following providers for a list of programmatic parameters:


Description
The Cassini-Soldner Projection is the ellipsoidal version of the Cassini projection for the sphere. It is not conformal but as it is relatively simple to construct it was extensively used in the last century and is still useful for mapping areas with limited longitudinal extent. It has now largely been replaced by the conformal Transverse Mercator which it resembles. Like this, it has a straight central meridian along which the scale is true, all other meridians and parallels are curved, and the scale distortion increases rapidly with increasing distance from the central meridian.

Since:
3.00
Version:
3.18
Author:
Mauro Bartolomeoli, Martin Desruisseaux (Geomatys), Rémi Maréchal (Geomatys)
See Also:
Serialized Form
Module:
referencing/geotk-referencing (download)    View source code for this class

Nested Class Summary
 
Nested classes/interfaces inherited from class UnitaryProjection
UnitaryProjection.Parameters
 
Field Summary
 
Fields inherited from class UnitaryProjection
excentricity, excentricitySquared
 
Fields inherited from class FormattableObject
EPSG, GEOTIFF, INTERNAL, OGC, SINGLE_LINE
 
Constructor Summary
protected CassiniSoldner(UnitaryProjection.Parameters parameters)
          Constructs a new map projection from the supplied parameters.
 
Method Summary
static MathTransform2D create(ParameterDescriptorGroup descriptor, ParameterValueGroup values)
          Creates a Cassini-Soldner projection from the given parameters.
protected  void inverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff)
          Transforms the specified (x,y) coordinates and stores the result in dstPts (angles in radians).
protected  void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff)
          Transforms the specified (λ,φ) coordinates (units in radians) and stores the result in dstPts (linear distance on a unit sphere).
 
Methods inherited from class UnitaryProjection
computeHashCode, equals, finish, getParameterValues, getUnmarshalledParameters, inverse, resetWarnings, rollLongitude, transform, unrollLongitude
 
Methods inherited from class AbstractMathTransform2D
getParameterDescriptors, getSourceDimensions, getTargetDimensions, transform
 
Methods inherited from class AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, equals, formatWKT, getName, hashCode, isIdentity, rollLongitude, transform, transform, transform, transform
 
Methods inherited from class FormattableObject
getDefaultIndentation, print, setDefaultIndentation, toString, toWKT, toWKT, toWKT
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface MathTransform2D
createTransformedShape, derivative
 
Methods inherited from interface MathTransform
derivative, isIdentity, toWKT, transform, transform, transform, transform
 

Constructor Detail

CassiniSoldner

protected CassiniSoldner(UnitaryProjection.Parameters parameters)
Constructs a new map projection from the supplied parameters.

Parameters:
parameters - The parameters of the projection to be created.
Method Detail

create

public static MathTransform2D create(ParameterDescriptorGroup descriptor,
                                     ParameterValueGroup values)
Creates a Cassini-Soldner projection from the given parameters. The descriptor argument is usually CassiniSoldner.PARAMETERS, but is not restricted to. If a different descriptor is supplied, it is user's responsibility to ensure that it is suitable to a Cassini-Soldner projection.

Parameters:
descriptor - Typically CassiniSoldner.PARAMETERS.
values - The parameter values of the projection to create.
Returns:
The map projection.
Since:
3.00

transform

protected void transform(double[] srcPts,
                         int srcOff,
                         double[] dstPts,
                         int dstOff)
                  throws ProjectionException
Transforms the specified (λ,φ) coordinates (units in radians) and stores the result in dstPts (linear distance on a unit sphere).

Specified by:
transform in class UnitaryProjection
Parameters:
srcPts - The array containing the source point coordinate, as (longitude, latitude) angles in radians.
srcOff - The offset of the point to be converted in the source array.
dstPts - the array into which the converted point coordinate is returned (may be the same than srcPts). Ordinates will be in a dimensionless unit, as a linear distance on a unit sphere or ellipse.
dstOff - The offset of the location of the converted point that is stored in the destination array.
Throws:
ProjectionException - if the point can't be converted.

inverseTransform

protected void inverseTransform(double[] srcPts,
                                int srcOff,
                                double[] dstPts,
                                int dstOff)
                         throws ProjectionException
Transforms the specified (x,y) coordinates and stores the result in dstPts (angles in radians).

Specified by:
inverseTransform in class UnitaryProjection
Parameters:
srcPts - The array containing the source point coordinate, 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 coordinate is returned (may be the same than srcPts). Ordinates will be (longitude, latitude) angles in radians.
dstOff - The offset of the location of the converted point that is stored in the destination array.
Throws:
ProjectionException - if the point can't be converted.


Copyright © 2009-2011 Geotoolkit.org. All Rights Reserved.