org.geotools.ct.proj
Class TransverseMercator

java.lang.Object
  extended byorg.geotools.ct.AbstractMathTransform
      extended byorg.geotools.ct.proj.MapProjection
          extended byorg.geotools.ct.proj.CylindricalProjection
              extended byorg.geotools.ct.proj.TransverseMercator
All Implemented Interfaces:
MathTransform, MathTransform2D, java.io.Serializable

Deprecated. Replaced by TransverseMercator.

public class TransverseMercator
extends CylindricalProjection

Transverse Mercator Projection (EPSG code 9807). This is a cylindrical projection, in which the cylinder has been rotated 90?. Instead of being tangent to the equator (or to an other standard latitude), it is tangent to a central meridian. Deformation are more important as we are going futher from the central meridian. The Transverse Mercator projection is appropriate for region wich have a greater extent north-south than east-west.

The elliptical equations used here are series approximations, and their accuracy decreases as points move farther from the central meridian of the projection. The forward equations here are accurate to a less than a mm +- 10 degrees from the central meridian, a few mm +- 15 degrees from the central meridian and a few cm +- 20 degrees from the central meridian. The spherical equations are not approximations and should always give the correct values.

There are a number of versions of the transverse mercator projection including the Universal (UTM) and Modified (MTM) Transverses Mercator projections. In these cases the earth is divided into zones. For the UTM the zones are 6 degrees wide, numbered from 1 to 60 proceeding east from 180 degrees longitude, and between lats 84 degrees North and 80 degrees South. The central meridian is taken as the center of the zone and the latitude of origin is the equator. A scale factor of 0.9996 and false easting of 500000m is used for all zones and a false northing of 10000000m is used for zones in the southern hemisphere.

NOTE: formulas used below are not those of Snyder, but rather those from the proj package of the USGS survey, which have been reproduced verbatim. USGS work is acknowledged here.

References:

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

Field Summary
 
Fields inherited from class org.geotools.ct.proj.MapProjection
centralMeridian, e, es, falseEasting, falseNorthing, globalScale, isSpherical, latitudeOfOrigin, scaleFactor, semiMajor, semiMinor
 
Fields inherited from interface org.geotools.ct.MathTransform2D
IDENTITY
 
Constructor Summary
protected TransverseMercator(Projection parameters)
          Deprecated. Construct a new map projection from the suplied parameters.
 
Method Summary
 boolean equals(java.lang.Object object)
          Deprecated. Compares the specified object with this map projection for equality.
 double getCentralMeridian()
          Deprecated. Convenience method returning the meridian in the middle of current zone.
 java.lang.String getName(java.util.Locale locale)
          Deprecated. Returns a human readable name localized for the specified locale.
 int getZone()
          Deprecated. Convenience method computing the zone code from the central meridian.
 int hashCode()
          Deprecated. Returns a hash value for this projection.
protected  java.awt.geom.Point2D inverseTransformNormalized(double x, double y, java.awt.geom.Point2D ptDst)
          Deprecated. Transforms the specified (x,y) coordinate and stores the result in ptDst.
protected  java.awt.geom.Point2D transformNormalized(double x, double y, java.awt.geom.Point2D ptDst)
          Deprecated. Transforms the specified (x,y) coordinate (units in radians) and stores the result in ptDst (linear distance on a unit sphere).
 
Methods inherited from class org.geotools.ct.proj.MapProjection
getDimSource, getDimTarget, inverse, toString, transform, transform, transform
 
Methods inherited from class org.geotools.ct.AbstractMathTransform
createTransformedShape, derivative, derivative, fromGeoAPI, isIdentity, transform
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.geotools.ct.MathTransform2D
createTransformedShape, derivative
 
Methods inherited from interface org.geotools.ct.MathTransform
derivative, isIdentity, transform
 

Constructor Detail

TransverseMercator

protected TransverseMercator(Projection parameters)
                      throws MissingParameterException
Deprecated. 
Construct a new map projection from the suplied parameters.

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

getName

public java.lang.String getName(java.util.Locale locale)
Deprecated. 
Returns a human readable name localized for the specified locale.

Specified by:
getName in class MapProjection

transformNormalized

protected java.awt.geom.Point2D transformNormalized(double x,
                                                    double y,
                                                    java.awt.geom.Point2D ptDst)
                                             throws ProjectionException
Deprecated. 
Transforms the specified (x,y) coordinate (units in radians) and stores the result in ptDst (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 ptSrc, or null. Ordinates will be in a dimensionless unit, as a linear distance on a unit sphere or ellipse.
Returns:
the coordinate point after transforming x, y and storing the result in ptDst.
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
Deprecated. 
Transforms the specified (x,y) coordinate and stores the result in ptDst.

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 ptSrc, or null. Ordinates will be in radians.
Returns:
the coordinate point after transforming x, y and storing the result in ptDst.
Throws:
ProjectionException - if the point can't be transformed.

hashCode

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

Overrides:
hashCode in class MapProjection

equals

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

Overrides:
equals in class MapProjection

getZone

public int getZone()
Deprecated. 
Convenience method computing the zone code from the central meridian.

Returns:
The zone number, using the scalefactor and false easting to decide if this is a UTM or MTM case. Returns 0 if the case of the projection cannot be determined.

getCentralMeridian

public double getCentralMeridian()
Deprecated. 
Convenience method returning the meridian in the middle of current zone. This meridian is typically the central meridian. This method may be invoked to make sure that the central meridian is correctly set.

Returns:
The central meridian, using the scalefactor and false easting to decide if this is a UTM or MTM case. Returns Double.NaN if the case of the projection cannot be determined.


Copyright © GeoTools. All Rights Reserved.