org.geotoolkit.referencing.cs
Class DefaultCartesianCS

Object
  extended by FormattableObject
      extended by AbstractIdentifiedObject
          extended by AbstractCS
              extended by DefaultAffineCS
                  extended by DefaultCartesianCS
All Implemented Interfaces:
Serializable, Formattable, LenientComparable, AffineCS, CartesianCS, CoordinateSystem, IdentifiedObject

@Immutable
public class DefaultCartesianCS
extends DefaultAffineCS
implements CartesianCS

A 1-, 2-, or 3-dimensional coordinate system. Gives the position of points relative to orthogonal straight axes in the 2- and 3-dimensional cases. In the 1-dimensional case, it contains a single straight coordinate axis. In the multi-dimensional case, all axes shall have the same length unit of measure. A CartesianCS shall have one, two, or three axis.

Used with CRS type(s)
Geocentric, Projected, Engineering, Image

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

Field Summary
static DefaultCartesianCS DISPLAY
          A two-dimensional Cartesian CS with display x, display y axis.
static DefaultCartesianCS GENERIC_2D
          A two-dimensional Cartesian CS with x, y axis in metres.
static DefaultCartesianCS GENERIC_3D
          A three-dimensional Cartesian CS with x, y, z axis in metres.
static DefaultCartesianCS GEOCENTRIC
          A three-dimensional Cartesian CS with geocentric x, y, z axis in metres.
static DefaultCartesianCS GRID
          A two-dimensional Cartesian CS with column, row axis.
static DefaultCartesianCS PROJECTED
          A two-dimensional Cartesian CS with Easting, Northing axis in metres.
 
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
DefaultCartesianCS(CartesianCS cs)
          Constructs a new coordinate system with the same values than the specified one.
DefaultCartesianCS(Map<String,?> properties, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1)
          Constructs a two-dimensional coordinate system from a set of properties.
DefaultCartesianCS(Map<String,?> properties, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1, CoordinateSystemAxis axis2)
          Constructs a three-dimensional coordinate system from a set of properties.
DefaultCartesianCS(String name, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1)
          Constructs a two-dimensional coordinate system from a name.
DefaultCartesianCS(String name, CoordinateSystemAxis axis0, CoordinateSystemAxis axis1, CoordinateSystemAxis axis2)
          Constructs a three-dimensional coordinate system from a name.
 
Method Summary
static DefaultCartesianCS castOrCopy(CartesianCS object)
          Returns a Geotk coordinate system implementation with the same values than the given arbitrary implementation.
 Measure distance(double[] coord1, double[] coord2)
          Computes the distance between two points.
 DefaultCartesianCS usingUnit(Unit<?> unit)
          Returns a new coordinate system with the same properties than the current one except for axis units.
static DefaultCartesianCS wrap(CartesianCS object)
          Deprecated. Renamed castOrCopy.
 
Methods inherited from class DefaultAffineCS
castOrCopy, isCompatibleDirection, isCompatibleUnit, wrap
 
Methods inherited from class AbstractCS
computeHashCode, equals, formatWKT, getAxis, getDimension, standard, swapAndScaleAxis
 
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 CoordinateSystem
getAxis, getDimension
 
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

PROJECTED

public static final DefaultCartesianCS PROJECTED
A two-dimensional Cartesian CS with Easting, Northing axis in metres.


GEOCENTRIC

public static final DefaultCartesianCS GEOCENTRIC
A three-dimensional Cartesian CS with geocentric x, y, z axis in metres.

See Also:
DefaultSphericalCS.GEOCENTRIC

GENERIC_2D

public static final DefaultCartesianCS GENERIC_2D
A two-dimensional Cartesian CS with x, y axis in metres.


GENERIC_3D

public static final DefaultCartesianCS GENERIC_3D
A three-dimensional Cartesian CS with x, y, z axis in metres.


GRID

public static final DefaultCartesianCS GRID
A two-dimensional Cartesian CS with column, row axis.


DISPLAY

public static final DefaultCartesianCS DISPLAY
A two-dimensional Cartesian CS with display x, display y axis.

Since:
2.2
Constructor Detail

DefaultCartesianCS

public DefaultCartesianCS(CartesianCS cs)
Constructs a new coordinate system 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:
cs - The coordinate system to copy.
Since:
2.2

DefaultCartesianCS

public DefaultCartesianCS(String name,
                          CoordinateSystemAxis axis0,
                          CoordinateSystemAxis axis1)
Constructs a two-dimensional coordinate system from a name.

Parameters:
name - The coordinate system name.
axis0 - The first axis.
axis1 - The second axis.

DefaultCartesianCS

public DefaultCartesianCS(String name,
                          CoordinateSystemAxis axis0,
                          CoordinateSystemAxis axis1,
                          CoordinateSystemAxis axis2)
Constructs a three-dimensional coordinate system from a name.

Parameters:
name - The coordinate system name.
axis0 - The first axis.
axis1 - The second axis.
axis2 - The third axis.

DefaultCartesianCS

public DefaultCartesianCS(Map<String,?> properties,
                          CoordinateSystemAxis axis0,
                          CoordinateSystemAxis axis1)
Constructs a two-dimensional 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".
axis0 - The first axis.
axis1 - The second axis.

DefaultCartesianCS

public DefaultCartesianCS(Map<String,?> properties,
                          CoordinateSystemAxis axis0,
                          CoordinateSystemAxis axis1,
                          CoordinateSystemAxis axis2)
Constructs a three-dimensional 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".
axis0 - The first axis.
axis1 - The second axis.
axis2 - The third axis.
Method Detail

castOrCopy

public static DefaultCartesianCS castOrCopy(CartesianCS 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 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 DefaultCartesianCS wrap(CartesianCS 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.

distance

public Measure distance(double[] coord1,
                        double[] coord2)
                 throws UnsupportedOperationException,
                        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:
UnsupportedOperationException - if this coordinate system can't compute distances.
MismatchedDimensionException - if a coordinate doesn't have the expected dimension.

usingUnit

public DefaultCartesianCS usingUnit(Unit<?> unit)
                             throws IllegalArgumentException
Returns a new coordinate system with the same properties than the current one except for axis units.

Overrides:
usingUnit in class DefaultAffineCS
Parameters:
unit - The unit for the new axis.
Returns:
A coordinate system with axis using the specified units.
Throws:
IllegalArgumentException - If the specified unit is incompatible with the expected one.
Since:
2.2


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