org.cts.op.projection
Class UniversalTransverseMercator

java.lang.Object
  extended by org.cts.IdentifiableComponent
      extended by org.cts.op.AbstractCoordinateOperation
          extended by org.cts.op.projection.Projection
              extended by org.cts.op.projection.UniversalTransverseMercator
All Implemented Interfaces:
Identifiable, CoordinateOperation

public class UniversalTransverseMercator
extends Projection

The Universal Transverse Mercator Projection (UTM).

Author:
Michaƫl Michaud

Nested Class Summary
 
Nested classes/interfaces inherited from class org.cts.op.projection.Projection
Projection.Orientation, Projection.Property, Projection.Surface
 
Field Summary
protected  double[] dircoeff
           
protected  double FE
           
protected  double[] invcoeff
           
protected  double lon0
           
protected  double n
           
static Identifier UTM
          The Identifier used for all Universal Transverse Mercator projections.
protected  double xs
           
protected  double ys
           
 
Fields inherited from class org.cts.op.projection.Projection
DEFAULT_PARAMETERS
 
Fields inherited from class org.cts.op.AbstractCoordinateOperation
precision
 
Fields inherited from interface org.cts.Identifiable
DEFAULT, LOCAL, UNKNOWN
 
Constructor Summary
UniversalTransverseMercator(Ellipsoid ellipsoid, Map<String,Measure> parameters)
          Create a new Universal Transverse Mercator Projection corresponding to the Ellipsoid and the list of parameters given in argument and initialize common parameters lon0, FE and other parameters useful for the projection.
 
Method Summary
static double[] getDirectUTMCoeff(Ellipsoid ellps)
          Return the coefficients for the direct UTM projection associated with the ellipsoid in parameter.
static double[] getInverseUTMCoeff(Ellipsoid ellps)
          Return the coefficients for the inverse UTM projection associated with the ellipsoid in parameter.
 Projection.Orientation getOrientation()
          Return the Orientation of this Projection.
 Projection.Property getProperty()
          Return the Property of this Projection.
 Projection.Surface getSurface()
          Return the Surface type of this Projection.
 CoordinateOperation inverse()
          Creates the inverse CoordinateOperation.
 double[] transform(double[] coord)
          Transform coord using the Universal Transverse Mercator Projection.
 
Methods inherited from class org.cts.op.projection.Projection
equals, getAzimuth, getCentralMeridian, getDefaultParameters, getFalseEasting, getFalseNorthing, getLatitudeOfOrigin, getLatitudeOfTrueScale, getRectifiedGridAngle, getScaleFactor, getSemiMajorAxis, getSemiMinorAxis, getStandardParallel1, getStandardParallel2, hashCode, toWKT
 
Methods inherited from class org.cts.op.AbstractCoordinateOperation
getPrecision
 
Methods inherited from class org.cts.IdentifiableComponent
addAlias, addRemark, getAliases, getAuthorityKey, getAuthorityName, getCode, getComponent, getIdentifier, getName, getRemarks, getShortName, setIdentifier, setRemarks, setShortName, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.cts.Identifiable
addAlias, addRemark, getAliases, getAuthorityKey, getAuthorityName, getCode, getName, getRemarks, getShortName, setRemarks, setShortName
 

Field Detail

UTM

public static final Identifier UTM
The Identifier used for all Universal Transverse Mercator projections.


FE

protected final double FE

lon0

protected final double lon0

n

protected final double n

xs

protected final double xs

ys

protected final double ys

dircoeff

protected final double[] dircoeff

invcoeff

protected final double[] invcoeff
Constructor Detail

UniversalTransverseMercator

public UniversalTransverseMercator(Ellipsoid ellipsoid,
                                   Map<String,Measure> parameters)
Create a new Universal Transverse Mercator Projection corresponding to the Ellipsoid and the list of parameters given in argument and initialize common parameters lon0, FE and other parameters useful for the projection.

Parameters:
ellipsoid - ellipsoid used to define the projection.
parameters - a map of useful parameters to define the projection.
Method Detail

getDirectUTMCoeff

public static double[] getDirectUTMCoeff(Ellipsoid ellps)
Return the coefficients for the direct UTM projection associated with the ellipsoid in parameter.

Parameters:
ellps - the projected ellipsoid

getInverseUTMCoeff

public static double[] getInverseUTMCoeff(Ellipsoid ellps)
Return the coefficients for the inverse UTM projection associated with the ellipsoid in parameter.

Parameters:
ellps - the projected ellipsoid

transform

public double[] transform(double[] coord)
                   throws CoordinateDimensionException
Transform coord using the Universal Transverse Mercator Projection. Input coord is supposed to be a geographic latitude / longitude coordinate in radians.

Specified by:
transform in interface CoordinateOperation
Specified by:
transform in class AbstractCoordinateOperation
Parameters:
coord - coordinate to transform
Returns:
a double array containing the output coordinate
Throws:
CoordinateDimensionException - if coord length is not compatible with this CoordinateOperation.

inverse

public CoordinateOperation inverse()
                            throws NonInvertibleOperationException
Creates the inverse CoordinateOperation.

Specified by:
inverse in interface CoordinateOperation
Overrides:
inverse in class AbstractCoordinateOperation
Throws:
NonInvertibleOperationException

getSurface

public Projection.Surface getSurface()
Return the Surface type of this Projection.

Specified by:
getSurface in class Projection

getProperty

public Projection.Property getProperty()
Return the Property of this Projection.

Specified by:
getProperty in class Projection

getOrientation

public Projection.Orientation getOrientation()
Return the Orientation of this Projection.

Specified by:
getOrientation in class Projection


Copyright © 2014 IRSTV CNRS-FR-2488. All Rights Reserved.