org.geotools.referencing.operation.transform
Class GeocentricTransform

java.lang.Object
  extended byorg.geotools.referencing.wkt.Formattable
      extended byorg.geotools.referencing.operation.transform.AbstractMathTransform
          extended byorg.geotools.referencing.operation.transform.GeocentricTransform
All Implemented Interfaces:
org.opengis.referencing.operation.MathTransform, java.io.Serializable

public class GeocentricTransform
extends AbstractMathTransform
implements java.io.Serializable

Transforms three dimensional geographic points to geocentric coordinate points. Input points must be longitudes, latitudes and heights above the ellipsoid.

Since:
2.0
Version:
$Id: GeocentricTransform.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Frank Warmerdam, Martin Desruisseaux
See Also:
Serialized Form

Nested Class Summary
static class GeocentricTransform.Provider
          The provider for GeocentricTransform.
static class GeocentricTransform.ProviderInverse
          The provider for inverse of GeocentricTransform.
 
Constructor Summary
GeocentricTransform(double semiMajor, double semiMinor, javax.units.Unit units, boolean hasHeight)
          Constructs a transform from the specified parameters.
GeocentricTransform(org.opengis.referencing.datum.Ellipsoid ellipsoid, boolean hasHeight)
          Constructs a transform from the specified ellipsoid.
 
Method Summary
 boolean equals(java.lang.Object object)
          Compares the specified object with this math transform for equality.
 org.opengis.parameter.ParameterDescriptorGroup getParameterDescriptors()
          Returns the parameter descriptors for this math transform.
 org.opengis.parameter.ParameterValueGroup getParameterValues()
          Returns the parameter values for this math transform.
 int getSourceDimensions()
          Gets the dimension of input points, which is 2 or 3.
 int getTargetDimensions()
          Gets the dimension of output points, which is 3.
 int hashCode()
          Returns a hash value for this transform.
 org.opengis.referencing.operation.MathTransform inverse()
          Returns the inverse of this transform.
 void inverseTransform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          Converts geocentric coordinates (x, y, z) to geodetic coordinates (longitude, latitude, height), according to the current ellipsoid parameters.
 void inverseTransform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
          Converts geocentric coordinates (x, y, z) to geodetic coordinates (longitude, latitude, height), according to the current ellipsoid parameters.
 void transform(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
          Converts geodetic coordinates (longitude, latitude, height) to geocentric coordinates (x, y, z) according to the current ellipsoid parameters.
 void transform(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
          Converts geodetic coordinates (longitude, latitude, height) to geocentric coordinates (x, y, z) according to the current ellipsoid parameters.
 
Methods inherited from class org.geotools.referencing.operation.transform.AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getDimSource, getDimTarget, isIdentity, needCopy, rollLongitude, transform, transform
 
Methods inherited from class org.geotools.referencing.wkt.Formattable
toString, toWKT, toWKT, toWKT
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opengis.referencing.operation.MathTransform
toWKT
 

Constructor Detail

GeocentricTransform

public GeocentricTransform(org.opengis.referencing.datum.Ellipsoid ellipsoid,
                           boolean hasHeight)
Constructs a transform from the specified ellipsoid.

Parameters:
ellipsoid - The ellipsoid.
hasHeight - if geographic coordinates include an ellipsoidal height (i.e. are 3-D), or if they are only 2-D.

GeocentricTransform

public GeocentricTransform(double semiMajor,
                           double semiMinor,
                           javax.units.Unit units,
                           boolean hasHeight)
Constructs a transform from the specified parameters.

Parameters:
semiMajor - The semi-major axis length.
semiMinor - The semi-minor axis length.
units - The axis units.
hasHeight - if geographic coordinates include an ellipsoidal height (i.e. are 3-D), or if they are only 2-D.
Method Detail

getParameterDescriptors

public org.opengis.parameter.ParameterDescriptorGroup getParameterDescriptors()
Returns the parameter descriptors for this math transform.

Overrides:
getParameterDescriptors in class AbstractMathTransform
Returns:
The parameter descriptors for this math transform, or .
See Also:
OperationMethod.getParameters()

getParameterValues

public org.opengis.parameter.ParameterValueGroup getParameterValues()
Returns the parameter values for this math transform.

Overrides:
getParameterValues in class AbstractMathTransform
Returns:
A copy of the parameter values for this math transform.
See Also:
Operation.getParameterValues()

getSourceDimensions

public int getSourceDimensions()
Gets the dimension of input points, which is 2 or 3.

Specified by:
getSourceDimensions in interface org.opengis.referencing.operation.MathTransform
Specified by:
getSourceDimensions in class AbstractMathTransform

getTargetDimensions

public final int getTargetDimensions()
Gets the dimension of output points, which is 3.

Specified by:
getTargetDimensions in interface org.opengis.referencing.operation.MathTransform
Specified by:
getTargetDimensions in class AbstractMathTransform

transform

public void transform(double[] srcPts,
                      int srcOff,
                      double[] dstPts,
                      int dstOff,
                      int numPts)
Converts geodetic coordinates (longitude, latitude, height) to geocentric coordinates (x, y, z) according to the current ellipsoid parameters.

Specified by:
transform in interface org.opengis.referencing.operation.MathTransform

transform

public void transform(float[] srcPts,
                      int srcOff,
                      float[] dstPts,
                      int dstOff,
                      int numPts)
Converts geodetic coordinates (longitude, latitude, height) to geocentric coordinates (x, y, z) according to the current ellipsoid parameters.

Specified by:
transform in interface org.opengis.referencing.operation.MathTransform
Overrides:
transform in class AbstractMathTransform

inverseTransform

public void inverseTransform(double[] srcPts,
                             int srcOff,
                             double[] dstPts,
                             int dstOff,
                             int numPts)
Converts geocentric coordinates (x, y, z) to geodetic coordinates (longitude, latitude, height), according to the current ellipsoid parameters. The method used here is derived from "An Improved Algorithm for Geocentric to Geodetic Coordinate Conversion", by Ralph Toms, Feb 1996.


inverseTransform

public void inverseTransform(float[] srcPts,
                             int srcOff,
                             float[] dstPts,
                             int dstOff,
                             int numPts)
Converts geocentric coordinates (x, y, z) to geodetic coordinates (longitude, latitude, height), according to the current ellipsoid parameters. The method used here is derived from "An Improved Algorithm for Geocentric to Geodetic Coordinate Conversion", by Ralph Toms, Feb 1996.


inverse

public org.opengis.referencing.operation.MathTransform inverse()
Returns the inverse of this transform.

Specified by:
inverse in interface org.opengis.referencing.operation.MathTransform
Overrides:
inverse in class AbstractMathTransform

hashCode

public int hashCode()
Returns a hash value for this transform.

Overrides:
hashCode in class AbstractMathTransform

equals

public boolean equals(java.lang.Object object)
Compares the specified object with this math transform for equality.

Overrides:
equals in class AbstractMathTransform


Copyright © GeoTools. All Rights Reserved.