org.cts.op.projection
Class Mercator1SP

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.Mercator1SP
All Implemented Interfaces:
Identifiable, CoordinateOperation

public class Mercator1SP
extends Projection

The Mercator Projection (MERC).

Author:
Jules Party

Nested Class Summary
 
Nested classes/interfaces inherited from class org.cts.op.projection.Projection
Projection.Orientation, Projection.Property, Projection.Surface
 
Field Summary
protected  double FE
           
protected  double FN
           
protected  double[] invcoeff
           
protected  double lat0
           
protected  double lon0
           
static Identifier MERC
          The Identifier used for all Mercator 1SP projections.
protected  double n
           
 
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
Mercator1SP(Ellipsoid ellipsoid, Map<String,Measure> parameters)
          Create a new Mercator 1SP Projection corresponding to the Ellipsoid and the list of parameters given in argument and initialize common parameters lon0, lat0, FE, FN and other parameters useful for the projection.
 
Method Summary
static double[] getInverseMercatorCoeff(Ellipsoid ellps)
          Return the coefficients for the inverse Mercator 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 operation for Mercator Projection.
 double[] transform(double[] coord)
          Transform coord using the 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

MERC

public static final Identifier MERC
The Identifier used for all Mercator 1SP projections.


lat0

protected final double lat0

lon0

protected final double lon0

FE

protected final double FE

FN

protected final double FN

n

protected final double n

invcoeff

protected final double[] invcoeff
Constructor Detail

Mercator1SP

public Mercator1SP(Ellipsoid ellipsoid,
                   Map<String,Measure> parameters)
Create a new Mercator 1SP Projection corresponding to the Ellipsoid and the list of parameters given in argument and initialize common parameters lon0, lat0, FE, FN 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

getInverseMercatorCoeff

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

Parameters:
ellps - the projected ellipsoid

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

transform

public double[] transform(double[] coord)
                   throws CoordinateDimensionException
Transform coord using the Mercator Projection. Input coord is supposed to be a geographic latitude / longitude coordinate in radians. Algorithm based on the OGP's Guidance Note Number 7 Part 2 :

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 operation for Mercator Projection. Input coord is supposed to be a projected easting / northing coordinate in meters. Algorithm based on the OGP's Guidance Note Number 7 Part 2 :

Specified by:
inverse in interface CoordinateOperation
Overrides:
inverse in class AbstractCoordinateOperation
Parameters:
coord - coordinate to transform
Throws:
NonInvertibleOperationException


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