Class NTv2Transform
- Object
-
- Formattable
-
- AbstractMathTransform
-
- NTv2Transform
-
- All Implemented Interfaces:
Serializable,MathTransform,MathTransform2D
public class NTv2Transform extends AbstractMathTransform implements MathTransform2D, Serializable
The "NTv2" coordinate transformation method (EPSG:9615).This transformation depends on an external resource (the NTv2 grid file). If the file is not available, a
recoverable NoSuchIdentifierExceptionwill be thrown on instantiation.- Author:
- Oscar Fonts
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNTv2Transform.ProviderTheNTv2Transformprovider.
-
Field Summary
Fields Modifier and Type Field Description protected static LoggerLOGGERLogger-
Fields inherited from class Formattable
SINGLE_LINE
-
-
Constructor Summary
Constructors Constructor Description NTv2Transform(URI file)Constructs aNTv2Transformfrom the specified grid shift file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object object)Compares the specified object with this one for equality.ParameterValueGroupgetParameterValues()Returns the parameter values for this math transform.intgetSourceDimensions()Gets the dimension of input points.intgetTargetDimensions()Gets the dimension of output points.inthashCode()Returns a hash value for this transform.MathTransform2Dinverse()Returns the inverse of this transform.voidinverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)Inverse transform.voidtransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)Transforms a list of coordinate point ordinal values.-
Methods inherited from class AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, getParameterDescriptors, isIdentity, needCopy, normalizeAngle, rollLongitude, transform, transform, transform, transform, transform
-
Methods inherited from class Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKT
-
Methods inherited from interface MathTransform
derivative, isIdentity, toWKT, transform, transform, transform, transform
-
Methods inherited from interface MathTransform2D
createTransformedShape, derivative, transform
-
-
-
-
Field Detail
-
LOGGER
protected static final Logger LOGGER
Logger
-
-
Constructor Detail
-
NTv2Transform
public NTv2Transform(URI file) throws NoSuchIdentifierException
Constructs aNTv2Transformfrom the specified grid shift file.This constructor checks for grid shift file availability, but doesn't actually load the full grid into memory to preserve resources.
- Parameters:
file- NTv2 grid file name- Throws:
NoSuchIdentifierException- if the grid is not available.
-
-
Method Detail
-
hashCode
public int hashCode()
Returns a hash value for this transform.- Overrides:
hashCodein classAbstractMathTransform
-
equals
public boolean equals(Object object)
Compares the specified object with this one for equality. Checks ifobjectisthissame instance, or a NTv2Transform with the same parameter values.- Overrides:
equalsin classAbstractMathTransform- Parameters:
object- The object to compare with this transform.- Returns:
trueif the given object isthis, or a NTv2Transform with same parameter values, which would mean that given identical source position, the transformed position would be the same.
-
inverse
public MathTransform2D inverse()
Returns the inverse of this transform.- Specified by:
inversein interfaceMathTransform- Specified by:
inversein interfaceMathTransform2D- Overrides:
inversein classAbstractMathTransform- Returns:
- the inverse of this transform
-
transform
public void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws TransformExceptionTransforms a list of coordinate point ordinal values. This method is provided for efficiently transforming many points. The supplied array of ordinal values will contain packed ordinal values. For example, if the source dimension is 3, then the ordinals will be packed in this order: (x0,y0,z0,x1,y1,z1 ...).
- Specified by:
transformin interfaceMathTransform- Parameters:
srcPts- the array containing the source point coordinates.srcOff- the offset to the first point to be transformed in the source array.dstPts- the array into which the transformed point coordinates are returned. May be the same thansrcPts.dstOff- the offset to the location of the first transformed point that is stored in the destination array.numPts- the number of point objects to be transformed.- Throws:
TransformException- if an IO error occurs reading the grid file.
-
inverseTransform
public void inverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts) throws TransformExceptionInverse transform. Seetransform(double[], int, double[], int, int)- Parameters:
srcPts- the array containing the source point coordinates.srcOff- the offset to the first point to be transformed in the source array.dstPts- the array into which the transformed point coordinates are returned. May be the same thansrcPts.dstOff- the offset to the location of the first transformed point that is stored in the destination array.numPts- the number of point objects to be transformed.- Throws:
TransformException- if an IO error occurs reading the grid file.
-
getSourceDimensions
public int getSourceDimensions()
Description copied from class:AbstractMathTransformGets the dimension of input points.- Specified by:
getSourceDimensionsin interfaceMathTransform- Specified by:
getSourceDimensionsin classAbstractMathTransform- Returns:
- The dimension of input points.
-
getTargetDimensions
public int getTargetDimensions()
Description copied from class:AbstractMathTransformGets the dimension of output points.- Specified by:
getTargetDimensionsin interfaceMathTransform- Specified by:
getTargetDimensionsin classAbstractMathTransform- Returns:
- The dimension of output points.
-
getParameterValues
public ParameterValueGroup getParameterValues()
Returns the parameter values for this math transform.- Overrides:
getParameterValuesin classAbstractMathTransform- Returns:
- A copy of the parameter values for this math transform.
- See Also:
Operation.getParameterValues()
-
-