org.cts.op
Class AbstractCoordinateOperation

java.lang.Object
  extended by org.cts.IdentifiableComponent
      extended by org.cts.op.AbstractCoordinateOperation
All Implemented Interfaces:
Identifiable, CoordinateOperation
Direct Known Subclasses:
Altitude2EllipsoidalHeight, ChangeCoordinateDimension, CoordinateOperationSequence, CoordinateRounding, CoordinateSwitch, FrenchGeocentricNTF2RGF, Geocentric2Geographic, GeocentricTranslation, Geographic2Geocentric, Identity, IterativeTransformation, LoadMemorizeCoordinate, LongitudeRotation, MemorizeCoordinate, NTv2GridShiftTransformation, OppositeCoordinate, Projection, SevenParameterTransformation, UnitConversion

public abstract class AbstractCoordinateOperation
extends IdentifiableComponent
implements CoordinateOperation

AbstractCoordinateOperation is a partial implementation of the CoordinateOperation interface.

Author:
Michaƫl Michaud

Field Summary
protected  double precision
           
 
Fields inherited from interface org.cts.Identifiable
DEFAULT, LOCAL, UNKNOWN
 
Constructor Summary
AbstractCoordinateOperation(Identifier identifier)
          Create a new CoordinateOperation instance.
 
Method Summary
 double getPrecision()
          Returns the precision of the transformation.
 CoordinateOperation inverse()
          Creates the inverse CoordinateOperation.
abstract  double[] transform(double[] coord)
          Return a double[] representing the same location as coord but in another CoordinateReferenceSystem.
 
Methods inherited from class org.cts.IdentifiableComponent
addAlias, addRemark, equals, getAliases, getAuthorityKey, getAuthorityName, getCode, getComponent, getIdentifier, getName, getRemarks, getShortName, hashCode, 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

precision

protected double precision
Constructor Detail

AbstractCoordinateOperation

public AbstractCoordinateOperation(Identifier identifier)
Create a new CoordinateOperation instance.

Parameters:
identifier - this CoordinateOperation identifier
Method Detail

transform

public abstract double[] transform(double[] coord)
                            throws IllegalCoordinateException
Return a double[] representing the same location as coord but in another CoordinateReferenceSystem.

Specified by:
transform in interface CoordinateOperation
Parameters:
coord - the input coordinate
Returns:
a double array containing the output coordinate
Throws:
IllegalCoordinateException - if coord is not compatible with this CoordinateOperation.

inverse

public CoordinateOperation inverse()
                            throws NonInvertibleOperationException
Creates the inverse CoordinateOperation. This method can be used to chain fr.cts.CoordinateOperations and/or inverse CoordinateOperation in a unique CoordinateOperationSequence. This method is not declared abstract, so that implementation classes have not to implement it if they represent non invertible operation.

Specified by:
inverse in interface CoordinateOperation
Throws:
NonInvertibleOperationException

getPrecision

public double getPrecision()
Returns the precision of the transformation.

Precision is a double representing the mean error, in meters made on the position resulting from this fr.cts.CoordinateOperation.

ex. : 0.001 means that the precision of the resulting position is about one millimeter

Default precision (or maximum precision) is considered to be equals to 1E-9 which is the value of an ulp (units in the last place) for a double value equals to 6378137.0 (Earth semi-major axis).

Specified by:
getPrecision in interface CoordinateOperation


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