org.deegree_impl.model.cs
Class VerticalCoordinateSystem

java.lang.Object
  extended byorg.deegree_impl.model.cs.Info
      extended byorg.deegree_impl.model.cs.CoordinateSystem
          extended byorg.deegree_impl.model.cs.VerticalCoordinateSystem
All Implemented Interfaces:
Dimensioned, java.io.Serializable

public class VerticalCoordinateSystem
extends CoordinateSystem

A one-dimensional coordinate system suitable for vertical measurements.

Version:
1.00
Author:
OpenGIS (www.opengis.org), Martin Desruisseaux
See Also:
CS_VerticalCoordinateSystem, Serialized Form

Nested Class Summary
private  class VerticalCoordinateSystem.Export
          Wrap a VerticalCoordinateSystem object for use with OpenGIS.
 
Nested classes inherited from class org.deegree_impl.model.cs.Info
Info.AngularUnit, Info.LinearUnit
 
Field Summary
private  AxisInfo axis
          Axis details for vertical dimension within coordinate system.
private  VerticalDatum datum
          The vertical datum.
static VerticalCoordinateSystem ELLIPSOIDAL
          Default vertical coordinate system using ellipsoidal datum.
private static long serialVersionUID
          Serial number for interoperability with different versions.
private  Unit unit
          Units used along the vertical axis.
 
Fields inherited from class org.deegree_impl.model.cs.Info
pool
 
Constructor Summary
(package private) VerticalCoordinateSystem(java.util.Map properties, VerticalDatum datum, Unit unit, AxisInfo axis)
          Creates a vertical coordinate system from a datum and linear units.
  VerticalCoordinateSystem(java.lang.String name, VerticalDatum datum)
          Creates a vertical coordinate system from a datum.
  VerticalCoordinateSystem(java.lang.String name, VerticalDatum datum, Unit unit, AxisInfo axis)
          Creates a vertical coordinate system from a datum and linear units.
 
Method Summary
(package private)  java.lang.String addString(java.lang.StringBuffer buffer)
          Fill the part inside "[...]".
 boolean equivalents(CoordinateSystem cs)
          Returns true if this coordinate system is equivalents to the specified coordinate system.
 AxisInfo getAxis(int dimension)
          Gets axis details for vertical dimension within coordinate system.
(package private)  Datum getDatum()
          Override CoordinateSystem.getDatum().
 int getDimension()
          Returns the dimension of this coordinate system, which is 1.
 Unit getUnits(int dimension)
          Gets units for dimension within coordinate system.
 VerticalDatum getVerticalDatum()
          Gets the vertical datum, which indicates the measurement method.
(package private)  java.lang.Object toOpenGIS(java.lang.Object adapters)
          Returns an OpenGIS interface for this vertical coordinate system.
 
Methods inherited from class org.deegree_impl.model.cs.CoordinateSystem
checkAxis, equals, getDefaultEnvelope, getUnits
 
Methods inherited from class org.deegree_impl.model.cs.Info
addUnit, cachedOpenGIS, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, getAbbreviation, getAlias, getAuthority, getAuthorityCode, getName, getRemarks, hashCode, readResolve, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Serial number for interoperability with different versions.

See Also:
Constant Field Values

ELLIPSOIDAL

public static final VerticalCoordinateSystem ELLIPSOIDAL
Default vertical coordinate system using ellipsoidal datum. Ellipsoidal heights are measured along the normal to the ellipsoid used in the definition of horizontal datum.


datum

private final VerticalDatum datum
The vertical datum.


unit

private final Unit unit
Units used along the vertical axis.


axis

private final AxisInfo axis
Axis details for vertical dimension within coordinate system.

Constructor Detail

VerticalCoordinateSystem

public VerticalCoordinateSystem(java.lang.String name,
                                VerticalDatum datum)
Creates a vertical coordinate system from a datum. Units will be metres and values will be increasing upward.

Parameters:
name - Name to give new object.
datum - Datum to use for new coordinate system.

VerticalCoordinateSystem

public VerticalCoordinateSystem(java.lang.String name,
                                VerticalDatum datum,
                                Unit unit,
                                AxisInfo axis)
Creates a vertical coordinate system from a datum and linear units.

Parameters:
name - Name to give new object.
datum - Datum to use for new coordinate system.
unit - Units to use for new coordinate system.
axis - Axis to use for new coordinate system.

VerticalCoordinateSystem

VerticalCoordinateSystem(java.util.Map properties,
                         VerticalDatum datum,
                         Unit unit,
                         AxisInfo axis)
Creates a vertical coordinate system from a datum and linear units.

Parameters:
properties - The set of properties (see Info).
datum - Datum to use for new coordinate system.
unit - Units to use for new coordinate system.
axis - Axis to use for new coordinate system.
Method Detail

getDimension

public final int getDimension()
Returns the dimension of this coordinate system, which is 1.

Specified by:
getDimension in interface Dimensioned
Specified by:
getDimension in class CoordinateSystem
See Also:
CS_CoordinateSystem.getDimension()

getDatum

final Datum getDatum()
Override CoordinateSystem.getDatum().

Overrides:
getDatum in class CoordinateSystem

getVerticalDatum

public VerticalDatum getVerticalDatum()
Gets the vertical datum, which indicates the measurement method.

See Also:
CS_VerticalCoordinateSystem.getVerticalDatum()

getAxis

public AxisInfo getAxis(int dimension)
Gets axis details for vertical dimension within coordinate system. A vertical coordinate system have only one axis, always at index 0.

Specified by:
getAxis in class CoordinateSystem
Parameters:
dimension - Zero based index of axis.
See Also:
CS_CoordinateSystem.getAxis(int)

getUnits

public Unit getUnits(int dimension)
Gets units for dimension within coordinate system. A vertical coordinate system have only one unit, always at index 0.

Specified by:
getUnits in class CoordinateSystem
Parameters:
dimension - Must be 0.
See Also:
CS_CoordinateSystem.getUnits(int), CS_VerticalCoordinateSystem.getVerticalUnit()

equivalents

public boolean equivalents(CoordinateSystem cs)
Returns true if this coordinate system is equivalents to the specified coordinate system. Two coordinate systems are considered equivalent if the CoordinateTransformation from this to cs would be the identity transform. The default implementation compare datum, units and axis, but ignore name, alias and other meta-data informations.

Overrides:
equivalents in class CoordinateSystem
Parameters:
cs - The coordinate system (may be null).
Returns:
true if both coordinate systems are equivalent.

addString

java.lang.String addString(java.lang.StringBuffer buffer)
Fill the part inside "[...]". Used for formatting Well Know Text (WKT).

Overrides:
addString in class Info
Parameters:
buffer - The buffer to add string to.
Returns:
The WKT code name (e.g. "GEOGCS").

toOpenGIS

final java.lang.Object toOpenGIS(java.lang.Object adapters)
Returns an OpenGIS interface for this vertical coordinate system. The returned object is suitable for RMI use. Note: The returned type is a generic Object in order to avoid too early class loading of OpenGIS interface.

Overrides:
toOpenGIS in class CoordinateSystem