org.geotools.referencing.cs
Class DefaultEllipsoidalCS

java.lang.Object
  extended byorg.geotools.referencing.wkt.Formattable
      extended byorg.geotools.referencing.AbstractIdentifiedObject
          extended byorg.geotools.referencing.cs.AbstractCS
              extended byorg.geotools.referencing.cs.DefaultEllipsoidalCS
All Implemented Interfaces:
org.opengis.referencing.cs.CoordinateSystem, org.opengis.referencing.cs.EllipsoidalCS, org.opengis.referencing.IdentifiedObject, java.io.Serializable

public class DefaultEllipsoidalCS
extends AbstractCS
implements org.opengis.referencing.cs.EllipsoidalCS

A two- or three-dimensional coordinate system in which position is specified by geodetic latitude, geodetic longitude, and (in the three-dimensional case) ellipsoidal height. An shall have two or three axis.

Used with CRS type(s)
Geographic, Engineering

Since:
2.1
Version:
$Id: DefaultEllipsoidalCS.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Martin Desruisseaux
See Also:
Serialized Form

Field Summary
static DefaultEllipsoidalCS GEODETIC_2D
          A two-dimensional ellipsoidal CS with longitude, latitude axis in degrees.
static DefaultEllipsoidalCS GEODETIC_3D
          A three-dimensional ellipsoidal CS with longitude, latitude, height axis.
 
Fields inherited from class org.geotools.referencing.AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR
 
Fields inherited from interface org.opengis.referencing.IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
DefaultEllipsoidalCS(org.opengis.referencing.cs.EllipsoidalCS cs)
          Constructs a new coordinate system with the same values than the specified one.
DefaultEllipsoidalCS(java.util.Map properties, org.opengis.referencing.cs.CoordinateSystemAxis axis0, org.opengis.referencing.cs.CoordinateSystemAxis axis1)
          Constructs a two-dimensional coordinate system from a set of properties.
DefaultEllipsoidalCS(java.util.Map properties, org.opengis.referencing.cs.CoordinateSystemAxis axis0, org.opengis.referencing.cs.CoordinateSystemAxis axis1, org.opengis.referencing.cs.CoordinateSystemAxis axis2)
          Constructs a three-dimensional coordinate system from a set of properties.
DefaultEllipsoidalCS(java.lang.String name, org.opengis.referencing.cs.CoordinateSystemAxis axis0, org.opengis.referencing.cs.CoordinateSystemAxis axis1)
          Constructs a two-dimensional coordinate system from a name.
DefaultEllipsoidalCS(java.lang.String name, org.opengis.referencing.cs.CoordinateSystemAxis axis0, org.opengis.referencing.cs.CoordinateSystemAxis axis1, org.opengis.referencing.cs.CoordinateSystemAxis axis2)
          Constructs a three-dimensional coordinate system from a name.
 
Method Summary
 double getHeight(double[] coordinates)
          Returns the height found in the specified coordinate point, always in meters.
 double getLatitude(double[] coordinates)
          Returns the latitude found in the specified coordinate point, always in degrees.
 double getLongitude(double[] coordinates)
          Returns the longitude found in the specified coordinate point, always in degrees.
protected  boolean isCompatibleDirection(org.opengis.referencing.cs.AxisDirection direction)
          Returns if the specified axis direction is allowed for this coordinate system.
protected  boolean isCompatibleUnit(org.opengis.referencing.cs.AxisDirection direction, javax.units.Unit unit)
          Returns if the specified unit is compatible with degrees (or meters in the special case of height).
 DefaultEllipsoidalCS usingUnit(javax.units.Unit unit)
          Returns a new coordinate system with the same properties than the current one except for axis units.
 
Methods inherited from class org.geotools.referencing.cs.AbstractCS
distance, equals, formatWKT, getAxis, getDimension, hashCode, standard, swapAndScaleAxis
 
Methods inherited from class org.geotools.referencing.AbstractIdentifiedObject
asSet, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, nameMatches, nameMatches
 
Methods inherited from class org.geotools.referencing.wkt.Formattable
toString, toWKT, toWKT, toWKT
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opengis.referencing.cs.CoordinateSystem
getAxis, getDimension
 
Methods inherited from interface org.opengis.referencing.IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

GEODETIC_2D

public static DefaultEllipsoidalCS GEODETIC_2D
A two-dimensional ellipsoidal CS with longitude, latitude axis in degrees.


GEODETIC_3D

public static DefaultEllipsoidalCS GEODETIC_3D
A three-dimensional ellipsoidal CS with longitude, latitude, height axis.

Constructor Detail

DefaultEllipsoidalCS

public DefaultEllipsoidalCS(org.opengis.referencing.cs.EllipsoidalCS 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 Geotools 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.

Since:
2.2

DefaultEllipsoidalCS

public DefaultEllipsoidalCS(java.lang.String name,
                            org.opengis.referencing.cs.CoordinateSystemAxis axis0,
                            org.opengis.referencing.cs.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.

DefaultEllipsoidalCS

public DefaultEllipsoidalCS(java.lang.String name,
                            org.opengis.referencing.cs.CoordinateSystemAxis axis0,
                            org.opengis.referencing.cs.CoordinateSystemAxis axis1,
                            org.opengis.referencing.cs.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.

DefaultEllipsoidalCS

public DefaultEllipsoidalCS(java.util.Map properties,
                            org.opengis.referencing.cs.CoordinateSystemAxis axis0,
                            org.opengis.referencing.cs.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.

DefaultEllipsoidalCS

public DefaultEllipsoidalCS(java.util.Map properties,
                            org.opengis.referencing.cs.CoordinateSystemAxis axis0,
                            org.opengis.referencing.cs.CoordinateSystemAxis axis1,
                            org.opengis.referencing.cs.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

isCompatibleDirection

protected boolean isCompatibleDirection(org.opengis.referencing.cs.AxisDirection direction)
Returns if the specified axis direction is allowed for this coordinate system. The default implementation accepts only the following directions: NORTH, SOUTH, EAST, WEST, UP and DOWN.

Overrides:
isCompatibleDirection in class AbstractCS

isCompatibleUnit

protected boolean isCompatibleUnit(org.opengis.referencing.cs.AxisDirection direction,
                                   javax.units.Unit unit)
Returns if the specified unit is compatible with degrees (or meters in the special case of height). This method is invoked at construction time for checking units compatibility.

Overrides:
isCompatibleUnit in class AbstractCS
Since:
2.2

getLongitude

public double getLongitude(double[] coordinates)
                    throws org.opengis.spatialschema.geometry.MismatchedDimensionException
Returns the longitude found in the specified coordinate point, always in degrees.

Parameters:
coordinates - The coordinate point expressed in this coordinate system.
Returns:
The longitude in the specified array, in degrees.
Throws:
org.opengis.spatialschema.geometry.MismatchedDimensionException - is the coordinate point doesn't have the expected dimension.

getLatitude

public double getLatitude(double[] coordinates)
                   throws org.opengis.spatialschema.geometry.MismatchedDimensionException
Returns the latitude found in the specified coordinate point, always in degrees.

Parameters:
coordinates - The coordinate point expressed in this coordinate system.
Returns:
The latitude in the specified array, in degrees.
Throws:
org.opengis.spatialschema.geometry.MismatchedDimensionException - is the coordinate point doesn't have the expected dimension.

getHeight

public double getHeight(double[] coordinates)
                 throws org.opengis.spatialschema.geometry.MismatchedDimensionException
Returns the height found in the specified coordinate point, always in meters.

Parameters:
coordinates - The coordinate point expressed in this coordinate system.
Returns:
The height in the specified array, in meters.
Throws:
org.opengis.spatialschema.geometry.MismatchedDimensionException - is the coordinate point doesn't have the expected dimension.

usingUnit

public DefaultEllipsoidalCS usingUnit(javax.units.Unit unit)
                               throws java.lang.IllegalArgumentException
Returns a new coordinate system with the same properties than the current one except for axis units.

Parameters:
unit - The unit for the new axis.
Returns:
A coordinate system with axis using the specified units.
Throws:
java.lang.IllegalArgumentException - If the specified unit is incompatible with the expected one.
Since:
2.2


Copyright © GeoTools. All Rights Reserved.