org.geotoolkit.referencing.cs
Class DefaultVerticalCS

Object
  extended by FormattableObject
      extended by AbstractIdentifiedObject
          extended by AbstractCS
              extended by DefaultVerticalCS
All Implemented Interfaces:
Serializable, Formattable, LenientComparable, CoordinateSystem, VerticalCS, IdentifiedObject

@Immutable
public class DefaultVerticalCS
extends AbstractCS
implements VerticalCS

A one-dimensional coordinate system used to record the heights (or depths) of points. Such a coordinate system is usually dependent on the Earth's gravity field, perhaps loosely as when atmospheric pressure is the basis for the vertical coordinate system axis. An exact definition is deliberately not provided as the complexities of the subject fall outside the scope of this specification. A VerticalCS shall have one axis.

Used with CRS type(s)
Vertical, Engineering

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

Field Summary
static DefaultVerticalCS DEPTH
          A one-dimensional vertical CS with depth axis in metres.
static DefaultVerticalCS ELLIPSOIDAL_HEIGHT
          A one-dimensional vertical CS with ellipsoidal height axis in metres.
static DefaultVerticalCS GRAVITY_RELATED_HEIGHT
          A one-dimensional vertical CS with gravity-related height axis in metres.
 
Fields inherited from class AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR
 
Fields inherited from class FormattableObject
EPSG, GEOTIFF, INTERNAL, OGC, SINGLE_LINE
 
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
DefaultVerticalCS(CoordinateSystemAxis axis)
          Constructs a coordinate system with the same properties than the specified axis.
DefaultVerticalCS(Map<String,?> properties, CoordinateSystemAxis axis)
          Constructs a coordinate system from a set of properties.
DefaultVerticalCS(String name, CoordinateSystemAxis axis)
          Constructs a coordinate system from a name.
DefaultVerticalCS(VerticalCS cs)
          Constructs a new coordinate system with the same values than the specified one.
 
Method Summary
 Measure distance(double[] coord1, double[] coord2)
          Computes the distance between two points.
protected  boolean isCompatibleDirection(AxisDirection direction)
          Returns true if the specified axis direction is allowed for this coordinate system.
static DefaultVerticalCS wrap(VerticalCS object)
          Returns a Geotk coordinate system implementation with the same values than the given arbitrary implementation.
 
Methods inherited from class AbstractCS
computeHashCode, equals, formatWKT, getAxis, getDimension, isCompatibleUnit, standard, swapAndScaleAxis
 
Methods inherited from class AbstractIdentifiedObject
equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, hashCode, nameMatches, nameMatches, 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 CoordinateSystem
getAxis, getDimension
 
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

ELLIPSOIDAL_HEIGHT

public static final DefaultVerticalCS ELLIPSOIDAL_HEIGHT
A one-dimensional vertical CS with ellipsoidal height axis in metres.


GRAVITY_RELATED_HEIGHT

public static final DefaultVerticalCS GRAVITY_RELATED_HEIGHT
A one-dimensional vertical CS with gravity-related height axis in metres.

Since:
2.5

DEPTH

public static final DefaultVerticalCS DEPTH
A one-dimensional vertical CS with depth axis in metres.

Constructor Detail

DefaultVerticalCS

public DefaultVerticalCS(VerticalCS cs)
Constructs a new coordinate system with the same values than the specified one. This copy constructor provides a way to wrap 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:
cs - The coordinate system to copy.
Since:
2.2

DefaultVerticalCS

public DefaultVerticalCS(CoordinateSystemAxis axis)
Constructs a coordinate system with the same properties than the specified axis. The inherited properties include the name and aliases.

Parameters:
axis - The axis.
Since:
2.5

DefaultVerticalCS

public DefaultVerticalCS(String name,
                         CoordinateSystemAxis axis)
Constructs a coordinate system from a name.

Parameters:
name - The coordinate system name.
axis - The axis.

DefaultVerticalCS

public DefaultVerticalCS(Map<String,?> properties,
                         CoordinateSystemAxis axis)
Constructs a coordinate system from a set of properties. The properties map is given unchanged to the super-class constructor.

Parameters:
properties - Set of properties. Should contains at least "name".
axis - The axis.
Method Detail

wrap

public static DefaultVerticalCS wrap(VerticalCS object)
Returns a Geotk coordinate system 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 wrap in 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

isCompatibleDirection

protected boolean isCompatibleDirection(AxisDirection direction)
Returns true if the specified axis direction is allowed for this coordinate system. The default implementation accepts only vertical directions (i.e. UP and DOWN).

Overrides:
isCompatibleDirection in class AbstractCS
Parameters:
direction - The direction to test for compatibility.
Returns:
true if the given direction is compatible with this coordinate system.

distance

public Measure distance(double[] coord1,
                        double[] coord2)
                 throws MismatchedDimensionException
Computes the distance between two points.

Overrides:
distance in class AbstractCS
Parameters:
coord1 - Coordinates of the first point.
coord2 - Coordinates of the second point.
Returns:
The distance between coord1 and coord2.
Throws:
MismatchedDimensionException - if a coordinate doesn't have the expected dimension.


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