org.deegree.cs.coordinatesystems
Class CompoundCRS

java.lang.Object
  extended by org.deegree.cs.CRSIdentifiable
      extended by org.deegree.cs.coordinatesystems.CRS
          extended by org.deegree.cs.coordinatesystems.CompoundCRS
All Implemented Interfaces:
Object, TypedObjectNode, ICompoundCRS, ICRS, CRSResource

public class CompoundCRS
extends CRS
implements ICompoundCRS

A CompoundCRS is a GeographicCRS with a third axis (the height axis) attached. This axis denotes a vertical axis, which defines a unit for a given height above or below the datums surface.

Version:
$Revision: 30961 $, $Date: 2011-05-30 13:12:58 +0200 (Mon, 30 May 2011) $
Author:
Rutger Bezema, last edited by: $Author: lbuesching $

Nested Class Summary
 
Nested classes/interfaces inherited from class org.deegree.cs.coordinatesystems.CRS
CRS.CRSType
 
Constructor Summary
CompoundCRS(IAxis heightAxis, ICRS underlyingCRS, double defaultHeight, CRSResource identity)
           
 
Method Summary
 boolean equalsWithFlippedAxis(Object other)
          TODO: this methode should become redundant with the reworked identifer concept!
 IAxis[] getAxis()
           
 double getDefaultHeight()
           
 int getDimension()
           
 IAxis getHeightAxis()
           
 IUnit getHeightUnits()
           
 CRS.CRSType getType()
           
 ICRS getUnderlyingCRS()
           
 
Methods inherited from class org.deegree.cs.coordinatesystems.CRS
convertToAxis, equals, getAlias, getDatum, getDirectTransformation, getEasting, getGeodeticDatum, getNorthing, getTransformations, getTypeName, getUnits, getValidDomain, hasDirectTransformation, hashCode, toString
 
Methods inherited from class org.deegree.cs.CRSIdentifiable
addAreaOfUse, addName, checkForNullObject, checkForNullObject, checkForNullObject, getAreaOfUse, getAreaOfUseBBox, getAreasOfUse, getCode, getCodeAndName, getCodes, getDescription, getDescriptions, getId, getName, getNames, getOrignalCodeStrings, getVersion, getVersions, hasCode, hasId, hasIdOrName, setDefaultAreaOfUse, setDefaultDescription, setDefaultId, setDefaultName, setDefaultVersion
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.deegree.cs.coordinatesystems.ICRS
convertToAxis, getAlias, getDatum, getDirectTransformation, getEasting, getGeodeticDatum, getNorthing, getTransformations, getUnits, getValidDomain, hasDirectTransformation
 
Methods inherited from interface org.deegree.cs.CRSResource
addAreaOfUse, addName, getAreaOfUse, getAreaOfUseBBox, getAreasOfUse, getCode, getCodeAndName, getCodes, getDescription, getDescriptions, getName, getNames, getOrignalCodeStrings, getVersion, getVersions, hasCode, hasId, hasIdOrName, setDefaultAreaOfUse, setDefaultDescription, setDefaultId, setDefaultName, setDefaultVersion
 
Methods inherited from interface org.deegree.commons.tom.Object
getId
 

Constructor Detail

CompoundCRS

public CompoundCRS(IAxis heightAxis,
                   ICRS underlyingCRS,
                   double defaultHeight,
                   CRSResource identity)
            throws IllegalArgumentException
Parameters:
heightAxis - defining the name and the units of the 'vertical' axis
underlyingCRS - the crs to which the height axis is added, only geographic, geocentric or projected crs are valid.
defaultHeight - of the any coordinate which does not have a height-axis-value.
identity - containing the identifiable values.
Throws:
IllegalArgumentException - if the underlying crs is not of type geographic, geocentric or projected or one of the other values is null.
Method Detail

getDimension

public int getDimension()
Specified by:
getDimension in interface ICRS
Returns:
the dimension of this CRS.

getType

public final CRS.CRSType getType()
Specified by:
getType in interface ICRS
Returns:
one of the *_CRS types defined in this class.

getHeightAxis

public final IAxis getHeightAxis()
Specified by:
getHeightAxis in interface ICompoundCRS
Returns:
the heightAxis.

getHeightUnits

public final IUnit getHeightUnits()
Specified by:
getHeightUnits in interface ICompoundCRS
Returns:
the units of the heightAxis.

getAxis

public IAxis[] getAxis()
Specified by:
getAxis in interface ICompoundCRS
Specified by:
getAxis in interface ICRS
Overrides:
getAxis in class CRS
Returns:
the geographic Axis and the heightAxis as the third component.

getUnderlyingCRS

public final ICRS getUnderlyingCRS()
Specified by:
getUnderlyingCRS in interface ICompoundCRS
Returns:
the underlyingCRS.

getDefaultHeight

public double getDefaultHeight()
Specified by:
getDefaultHeight in interface ICompoundCRS
Returns:
the defaultHeight or 0 if it was not set.

equalsWithFlippedAxis

public boolean equalsWithFlippedAxis(Object other)
Description copied from interface: ICRS
TODO: this methode should become redundant with the reworked identifer concept!

Specified by:
equalsWithFlippedAxis in interface ICRS
Overrides:
equalsWithFlippedAxis in class CRS
Returns:
true, if this and other are from the same type differes only in a flipped axis order.


Copyright © 2011. All Rights Reserved.