Class VerticalTransform

  • Direct Known Subclasses:
    EarthGravitationalModel

    public abstract class VerticalTransform
    extends AbstractMathTransform
    Base class for transformations from a height above the ellipsoid to a height above the geoid. This transform expects three-dimensional geographic coordinates in (longitude,latitude,height) order. The transformations are usually backed by some ellipsoid-dependent database.
    Since:
    3.9.0
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected VerticalTransform()
      Creates a new instance of VerticalTransform.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      int getSourceDimensions()
      Gets the dimension of input points.
      int getTargetDimensions()
      Gets the dimension of output points.
      protected abstract double heightOffset​(double longitude, double latitude, double height)
      Returns the value to add to a height above the ellipsoid in order to get a height above the geoid for the specified geographic coordinate.
      void transform​(double[] srcPts, int srcOff, double[] dstPts, int dstOff, int numPts)
      Transforms a list of coordinate point ordinal values.
      void transform​(float[] srcPts, int srcOff, float[] dstPts, int dstOff, int numPts)
      Transforms a list of coordinate point ordinal values.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • VerticalTransform

        protected VerticalTransform()
        Creates a new instance of VerticalTransform.
    • Method Detail

      • heightOffset

        protected abstract double heightOffset​(double longitude,
                                               double latitude,
                                               double height)
                                        throws java.lang.Exception
        Returns the value to add to a height above the ellipsoid in order to get a height above the geoid for the specified geographic coordinate.
        Parameters:
        longitude - The geodetic longitude, in decimal degrees.
        latitude - The geodetic latitude, in decimal degrees.
        height - The height above the ellipsoid in metres.
        Returns:
        The value to add in order to get the height above the geoid (in metres).
        Throws:
        java.lang.Exception - if the offset can't be computed for the specified coordinates.
      • transform

        public void transform​(float[] srcPts,
                              int srcOff,
                              float[] dstPts,
                              int dstOff,
                              int numPts)
                       throws java.lang.Exception
        Transforms a list of coordinate point ordinal values.
        Throws:
        java.lang.Exception
      • transform

        public void transform​(double[] srcPts,
                              int srcOff,
                              double[] dstPts,
                              int dstOff,
                              int numPts)
                       throws java.lang.Exception
        Transforms a list of coordinate point ordinal values.
        Throws:
        java.lang.Exception