org.geotools.referencing.operation.projection
Class Mercator

java.lang.Object
  extended byorg.geotools.referencing.wkt.Formattable
      extended byorg.geotools.referencing.operation.transform.AbstractMathTransform
          extended byorg.geotools.referencing.operation.projection.MapProjection
              extended byorg.geotools.referencing.operation.projection.Mercator
All Implemented Interfaces:
org.opengis.referencing.operation.MathTransform, org.opengis.referencing.operation.MathTransform2D, java.io.Serializable
Direct Known Subclasses:
Mercator1SP, Mercator2SP

public abstract class Mercator
extends MapProjection

Mercator Cylindrical Projection. The parallels and the meridians are straight lines and cross at right angles; this projection thus produces rectangular charts. The scale is true along the equator (by default) or along two parallels equidistant of the equator (if a scale factor other than 1 is used). This projection is used to represent areas close to the equator. It is also often used for maritime navigation because all the straight lines on the chart are loxodrome lines, i.e. a ship following this line would keep a constant azimuth on its compass.

This implementation handles both the 1 and 2 stardard parallel cases. For (EPSG code 9804), the line of contact is the equator. For (EPSG code 9805) lines of contact are symmetrical about the equator.

References:

Since:
2.1
Version:
$Id: Mercator.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Andr? Gosselin, Martin Desruisseaux, Rueben Schulz
See Also:
Mercator projection on MathWorld, "mercator_1sp" on Remote Sensing, "mercator_2sp" on Remote Sensing, Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.geotools.referencing.operation.projection.MapProjection
MapProjection.AbstractProvider
 
Field Summary
protected  double standardParallel
          Standard Parallel used for the case.
 
Fields inherited from class org.geotools.referencing.operation.projection.MapProjection
centralMeridian, excentricity, excentricitySquared, falseEasting, falseNorthing, globalScale, isSpherical, latitudeOfOrigin, scaleFactor, semiMajor, semiMinor
 
Constructor Summary
protected Mercator(org.opengis.parameter.ParameterValueGroup parameters)
          Constructs a new map projection from the supplied parameters.
 
Method Summary
 boolean equals(java.lang.Object object)
          Compares the specified object with this map projection for equality.
 org.opengis.parameter.ParameterValueGroup getParameterValues()
          Returns the parameter values for this map projection.
 int hashCode()
          Returns a hash value for this projection.
protected  java.awt.geom.Point2D inverseTransformNormalized(double x, double y, java.awt.geom.Point2D ptDst)
          Transforms the specified (x,y) coordinate and stores the result in .
protected  java.awt.geom.Point2D transformNormalized(double x, double y, java.awt.geom.Point2D ptDst)
          Transforms the specified (x,y) coordinate (units in radians) and stores the result in (linear distance on a unit sphere).
 
Methods inherited from class org.geotools.referencing.operation.projection.MapProjection
getParameterDescriptors, getSourceDimensions, getTargetDimensions, getToleranceForAssertions, inverse, transform, transform, transform
 
Methods inherited from class org.geotools.referencing.operation.transform.AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getDimSource, getDimTarget, isIdentity, needCopy, rollLongitude, transform
 
Methods inherited from class org.geotools.referencing.wkt.Formattable
toString, toWKT, toWKT, toWKT
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opengis.referencing.operation.MathTransform2D
createTransformedShape, derivative
 
Methods inherited from interface org.opengis.referencing.operation.MathTransform
derivative, isIdentity, toWKT, transform
 

Field Detail

standardParallel

protected final double standardParallel
Standard Parallel used for the case. Set to Double.NaN for the case.

Constructor Detail

Mercator

protected Mercator(org.opengis.parameter.ParameterValueGroup parameters)
            throws org.opengis.parameter.ParameterNotFoundException
Constructs a new map projection from the supplied parameters.

Parameters:
parameters - The parameter values in standard units.
Throws:
org.opengis.parameter.ParameterNotFoundException - if a mandatory parameter is missing.
Method Detail

getParameterValues

public org.opengis.parameter.ParameterValueGroup getParameterValues()
Returns the parameter values for this map projection.

Overrides:
getParameterValues in class MapProjection
Returns:
A copy of the parameter values for this map projection.

transformNormalized

protected java.awt.geom.Point2D transformNormalized(double x,
                                                    double y,
                                                    java.awt.geom.Point2D ptDst)
                                             throws ProjectionException
Transforms the specified (x,y) coordinate (units in radians) and stores the result in (linear distance on a unit sphere).

Specified by:
transformNormalized in class MapProjection
Parameters:
x - The longitude of the coordinate, in radians.
y - The latitude of the coordinate, in radians.
ptDst - the specified coordinate point that stores the result of transforming , or . Ordinates will be in a dimensionless unit, as a linear distance on a unit sphere or ellipse.
Returns:
the coordinate point after transforming , and storing the result in .
Throws:
ProjectionException - if the point can't be transformed.

inverseTransformNormalized

protected java.awt.geom.Point2D inverseTransformNormalized(double x,
                                                           double y,
                                                           java.awt.geom.Point2D ptDst)
                                                    throws ProjectionException
Transforms the specified (x,y) coordinate and stores the result in .

Specified by:
inverseTransformNormalized in class MapProjection
Parameters:
x - The easting of the coordinate, linear distance on a unit sphere or ellipse.
y - The northing of the coordinate, linear distance on a unit sphere or ellipse.
ptDst - the specified coordinate point that stores the result of transforming , or . Ordinates will be in radians.
Returns:
the coordinate point after transforming , and storing the result in .
Throws:
ProjectionException - if the point can't be transformed.

hashCode

public int hashCode()
Returns a hash value for this projection.

Overrides:
hashCode in class MapProjection

equals

public boolean equals(java.lang.Object object)
Compares the specified object with this map projection for equality.

Overrides:
equals in class MapProjection


Copyright © GeoTools. All Rights Reserved.