org.geotoolkit.referencing.crs
Class DefaultVerticalCRS

Object
  extended by FormattableObject
      extended by AbstractIdentifiedObject
          extended by AbstractReferenceSystem
              extended by AbstractCRS
                  extended by AbstractSingleCRS
                      extended by DefaultVerticalCRS
All Implemented Interfaces:
Serializable, Formattable, LenientComparable, CoordinateReferenceSystem, SingleCRS, VerticalCRS, IdentifiedObject, ReferenceSystem

@Immutable
public class DefaultVerticalCRS
extends AbstractSingleCRS
implements VerticalCRS

A 1D coordinate reference system used for recording heights or depths. Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward.

By implication, ellipsoidal heights (h) cannot be captured in a vertical coordinate reference system. Ellipsoidal heights cannot exist independently, but only as inseparable part of a 3D coordinate tuple defined in a geographic 3D coordinate reference system. However GeoAPI does not enforce this rule. This class defines a ELLIPSOIDAL_HEIGHT constant in violation with ISO 19111; this is considered okay if this constant is used merely as a step toward the construction of a 3D CRS (for example in a transient state during WKT parsing), or for passing arguments in methods enforcing type-safety.

Used with CS type(s)
Vertical

Since:
1.2
Version:
3.19
Author:
Martin Desruisseaux (IRD, Geomatys)
See Also:
Serialized Form
Module:
referencing/geotk-referencing (download)    View source code for this class

Field Summary
static DefaultVerticalCRS ELLIPSOIDAL_HEIGHT
          Default vertical coordinate reference system using ellipsoidal datum.
static DefaultVerticalCRS GEOIDAL_HEIGHT
          Default vertical coordinate reference system using geoidal datum.
 
Fields inherited from class FormattableObject
EPSG, GEOTIFF, INTERNAL, OGC, SINGLE_LINE
 
Fields inherited from interface ReferenceSystem
DOMAIN_OF_VALIDITY_KEY, SCOPE_KEY
 
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
DefaultVerticalCRS(Map<String,?> properties, VerticalDatum datum, VerticalCS cs)
          Constructs a vertical CRS from a set of properties.
DefaultVerticalCRS(String name, VerticalDatum datum, VerticalCS cs)
          Constructs a vertical CRS from a name.
DefaultVerticalCRS(VerticalCRS crs)
          Constructs a new vertical CRS with the same values than the specified one.
DefaultVerticalCRS(VerticalDatum datum, VerticalCS cs)
          Constructs a vertical CRS with the same properties than the given datum.
 
Method Summary
static DefaultVerticalCRS castOrCopy(VerticalCRS object)
          Returns a Geotk CRS implementation with the same values than the given arbitrary implementation.
 String formatWKT(Formatter formatter)
          Formats the inner part of a Well Known Text (WKT) element.
 VerticalCS getCoordinateSystem()
          Returns the coordinate system.
 VerticalDatum getDatum()
          Returns the datum.
static DefaultVerticalCRS wrap(VerticalCRS object)
          Deprecated. Renamed castOrCopy.
 
Methods inherited from class AbstractSingleCRS
computeHashCode, equals, getAxis, getDimension
 
Methods inherited from class AbstractCRS
distance
 
Methods inherited from class AbstractReferenceSystem
getDomainOfValidity, getScope
 
Methods inherited from class AbstractIdentifiedObject
equals, getAlias, getIdentifier, getIdentifiers, getName, getName, getRemarks, hashCode, nameMatches
 
Methods inherited from class FormattableObject
getDefaultIndentation, print, setDefaultIndentation, toString, toWKT, toWKT, toWKT
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ReferenceSystem
getDomainOfValidity, getScope
 
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

ELLIPSOIDAL_HEIGHT

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

See Also:
DefaultVerticalDatum.ELLIPSOIDAL, DefaultVerticalCS.ELLIPSOIDAL_HEIGHT

GEOIDAL_HEIGHT

public static final DefaultVerticalCRS GEOIDAL_HEIGHT
Default vertical coordinate reference system using geoidal datum.

Since:
2.5
See Also:
DefaultVerticalDatum.GEOIDAL, DefaultVerticalCS.GRAVITY_RELATED_HEIGHT
Constructor Detail

DefaultVerticalCRS

public DefaultVerticalCRS(VerticalCRS crs)
Constructs a new vertical CRS with the same values than the specified one. This copy constructor provides a way to convert an arbitrary implementation into a Geotk one or a user-defined one (as a subclass), usually in order to leverage some implementation-specific API. This constructor performs a shallow copy, i.e. the properties are not cloned.

Parameters:
crs - The coordinate reference system to copy.
Since:
2.2

DefaultVerticalCRS

public DefaultVerticalCRS(VerticalDatum datum,
                          VerticalCS cs)
Constructs a vertical CRS with the same properties than the given datum. The inherited properties include the name and aliases.

Parameters:
datum - The datum.
cs - The coordinate system.
Since:
2.5

DefaultVerticalCRS

public DefaultVerticalCRS(String name,
                          VerticalDatum datum,
                          VerticalCS cs)
Constructs a vertical CRS from a name.

Parameters:
name - The name.
datum - The datum.
cs - The coordinate system.

DefaultVerticalCRS

public DefaultVerticalCRS(Map<String,?> properties,
                          VerticalDatum datum,
                          VerticalCS cs)
Constructs a vertical CRS from a set of properties. The properties are given unchanged to the super-class constructor.

Parameters:
properties - Set of properties. Should contains at least "name".
datum - The datum.
cs - The coordinate system.
Method Detail

castOrCopy

public static DefaultVerticalCRS castOrCopy(VerticalCRS object)
Returns a Geotk CRS implementation with the same values than the given arbitrary implementation. If the given object is null, then this method returns null. Otherwise if the given object is already a Geotk implementation, then the given object is returned unchanged. Otherwise a new Geotk implementation is created and initialized to the attribute values of the given object.

Parameters:
object - The object to get as a Geotk implementation, or null if none.
Returns:
A Geotk implementation containing the values of the given object (may be the given object itself), or null if the argument was null.
Since:
3.18

wrap

@Deprecated
public static DefaultVerticalCRS wrap(VerticalCRS object)
Deprecated. Renamed castOrCopy.

Parameters:
object - The object to get as a Geotk implementation, or null if none.
Returns:
The given object as a Geotk implementation.

getCoordinateSystem

public VerticalCS getCoordinateSystem()
Returns the coordinate system.

Specified by:
getCoordinateSystem in interface CoordinateReferenceSystem
Specified by:
getCoordinateSystem in interface SingleCRS
Specified by:
getCoordinateSystem in interface VerticalCRS
Overrides:
getCoordinateSystem in class AbstractCRS

getDatum

public VerticalDatum getDatum()
Returns the datum.

Specified by:
getDatum in interface SingleCRS
Specified by:
getDatum in interface VerticalCRS
Overrides:
getDatum in class AbstractSingleCRS
Returns:
The datum.

formatWKT

public String formatWKT(Formatter formatter)
Formats the inner part of a Well Known Text (WKT) element.

Specified by:
formatWKT in interface Formattable
Overrides:
formatWKT in class AbstractCRS
Parameters:
formatter - The formatter to use.
Returns:
The name of the WKT element type, which is "VERT_CS".
See Also:
FormattableObject.toWKT(), FormattableObject.toString()


Copyright © 2009-2011 Geotoolkit.org. All Rights Reserved.