public class IdrTransverseMercator
extends MapProjection
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 proj4 package of the USGS survey, which
       have been reproduced verbatim. USGS work is acknowledged here.
 
References:
| Modifier and Type | Class and Description | 
|---|---|
| static class  | IdrTransverseMercator.ProviderThe  org.geotools.referencing.operation.MathTransformProviderfor aIdrTransverseMercatorprojection. | 
| static class  | IdrTransverseMercator.Provider_SouthOrientatedThe  org.geotools.referencing.operation.MathTransformProviderfor a South OrientatedIdrTransverseMercatorprojection (EPSG code 9808). | 
| static class  | IdrTransverseMercator.Provider_TransverseMercatorZonedGridSystem | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | IdrTransverseMercator(ParameterValueGroup parameters)Constructs a new map projection from the supplied parameters. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(java.lang.Object object)Compares the specified object with this map projection for equality. | 
| double | getCentralMeridian()Convenience method returning the meridian in the middle of current zone. | 
| ParameterDescriptorGroup | getParameterDescriptors() | 
| protected double | getToleranceForAssertions(double longitude,
                         double latitude) | 
| int | getZone()Convenience method computing the zone code from the central meridian. | 
| 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  ptDst. | 
| 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  ptDst(linear distance on a unit sphere). | 
protected IdrTransverseMercator(ParameterValueGroup parameters)
                         throws ParameterNotFoundException
parameters - The parameter values in standard units.ParameterNotFoundException - if a mandatory parameter is missing.public ParameterDescriptorGroup getParameterDescriptors()
protected java.awt.geom.Point2D transformNormalized(double x,
                                                    double y,
                                                    java.awt.geom.Point2D ptDst)
                                             throws ProjectionException
ptDst (linear distance on a unit sphere).ProjectionExceptionprotected java.awt.geom.Point2D inverseTransformNormalized(double x,
                                                           double y,
                                                           java.awt.geom.Point2D ptDst)
                                                    throws ProjectionException
ptDst.ProjectionExceptionprotected double getToleranceForAssertions(double longitude,
                                           double latitude)
public int getZone()
public double getCentralMeridian()
Double.NaN
         if the case of the projection cannot be determined.public int hashCode()
public boolean equals(java.lang.Object object)