Class Altitude

  • All Implemented Interfaces:
    Serializable, Cloneable, Comparable<Measurable<Length>>, Measurable<Length>, javolution.lang.Immutable, javolution.lang.Realtime, javolution.lang.ValueType, javolution.xml.XMLSerializable, org.opengis.spatialschema.geometry.DirectPosition, org.opengis.spatialschema.geometry.geometry.Position, org.opengis.util.Cloneable

    public final class Altitude
    extends Coordinates<VerticalCRS<?>>
    implements Measurable<Length>
    This class represents the Mean-Sea-Level vertical altitude (MSL).

    Note: The current implementation approximates the MSL altitude to the WGS-86 Ellipsoid Height. Future implementations will use lookup tables in order to correct for regional discrepencies.

    See Also:
    Serialized Form
    • Field Detail

      • CRS

        public static final VerticalCRS<Altitude> CRS
        Holds the coordinate reference system for all instances of this class.
    • Method Detail

      • valueOf

        public static Altitude valueOf​(double value,
                                       Unit<Length> unit)
        Returns the vertical position corresponding to the specified coordinates.
        Parameters:
        value - the mean sea level altitude stated in the specified unit.
        unit - the length unit in which the altitude is stated.
        Returns:
        the corresponding vertical position.
      • getCoordinateReferenceSystem

        public VerticalCRS<?> getCoordinateReferenceSystem()
        Description copied from class: Coordinates
        Returns the reference system for this coordinates.
        Specified by:
        getCoordinateReferenceSystem in interface org.opengis.spatialschema.geometry.DirectPosition
        Specified by:
        getCoordinateReferenceSystem in class Coordinates<VerticalCRS<?>>
        Returns:
        the associated coordinate reference system.
      • getDimension

        public int getDimension()
        Description copied from class: Coordinates
        OpenGIS® - The length of coordinate sequence (the number of entries). This is determined by the coordinate reference system.
        Specified by:
        getDimension in interface org.opengis.spatialschema.geometry.DirectPosition
        Specified by:
        getDimension in class Coordinates<VerticalCRS<?>>
        Returns:
        the dimensionality of this position.
      • getOrdinate

        public double getOrdinate​(int dimension)
                           throws IndexOutOfBoundsException
        Description copied from class: Coordinates
        OpenGIS® - Returns the ordinate at the specified dimension.
        Specified by:
        getOrdinate in interface org.opengis.spatialschema.geometry.DirectPosition
        Specified by:
        getOrdinate in class Coordinates<VerticalCRS<?>>
        Parameters:
        dimension - The dimension in the range 0 to dimension-1.
        Returns:
        The coordinate at the specified dimension.
        Throws:
        IndexOutOfBoundsException - if the specified dimension is out of bounds.
      • doubleValue

        public final double doubleValue​(Unit<Length> unit)
        Description copied from interface: Measurable
        Returns the value of this measurable stated in the specified unit as a double. If the measurable has too great a magnitude to be represented as a double, it will be converted to Double.NEGATIVE_INFINITY or Double.POSITIVE_INFINITY as appropriate.
        Specified by:
        doubleValue in interface Measurable<Length>
        Parameters:
        unit - the unit in which this measurable value is stated.
        Returns:
        the numeric value after conversion to type double.
      • longValue

        public final long longValue​(Unit<Length> unit)
        Description copied from interface: Measurable
        Returns the estimated integral value of this measurable stated in the specified unit as a long.

        Note: This method differs from the Number.longValue() in the sense that the closest integer value is returned and an ArithmeticException is raised instead of a bit truncation in case of overflow (safety critical).

        Specified by:
        longValue in interface Measurable<Length>
        Parameters:
        unit - the unit in which the measurable value is stated.
        Returns:
        the numeric value after conversion to type long.
      • copy

        public Altitude copy()
        Description copied from class: Coordinates
        Returns a copy of these coordinates allocated by the calling thread (possibly on the stack).
        Specified by:
        copy in interface javolution.lang.ValueType
        Specified by:
        copy in class Coordinates<VerticalCRS<?>>
        Returns:
        an identical and independant copy of these coordinates .