org.cts.op.projection
Class ObliqueMercator

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

public class ObliqueMercator
extends Projection

The Oblique Mercator Projection (OMERC).

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 A
           
protected  double alphac
           
protected  double B
           
protected  double FE
           
protected  double FN
           
protected  double gamma0
           
protected  double gammac
           
protected  double H
           
protected  double[] invcoeff
           
protected  double kc
           
protected  double lambda0
           
protected  double latc
           
protected  double lonc
           
static Identifier OMERC
          The Identifier used for all Oblique Mercator projections.
protected  double uc
           
 
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
ObliqueMercator(Ellipsoid ellipsoid, Map<String,Measure> parameters)
          Create a new Oblique Mercator Projection corresponding to the Ellipsoid and the list of parameters given in argument and initialize common parameters FE, FN and other parameters useful for the projection.
 
Method Summary
 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 Oblique Mercator Projection.
 double[] transform(double[] coord)
          Transform coord using the Oblique 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

OMERC

public static final Identifier OMERC
The Identifier used for all Oblique Mercator projections.


latc

protected final double latc

lonc

protected final double lonc

alphac

protected final double alphac

gammac

protected final double gammac

kc

protected final double kc

FE

protected final double FE

FN

protected final double FN

B

protected final double B

A

protected final double A

H

protected final double H

gamma0

protected final double gamma0

lambda0

protected final double lambda0

uc

protected final double uc

invcoeff

protected final double[] invcoeff
Constructor Detail

ObliqueMercator

public ObliqueMercator(Ellipsoid ellipsoid,
                       Map<String,Measure> parameters)
Create a new Oblique Mercator Projection corresponding to the Ellipsoid and the list of parameters given in argument and initialize common parameters 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

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 Oblique 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 Oblique 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.