org.deegree_impl.model.cs
Class GeocentricCoordinateSystem

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

public class GeocentricCoordinateSystem
extends CoordinateSystem

A 3D coordinate system, with its origin at the center of the Earth. The X axis points towards the prime meridian. The Y axis points East or West. The Z axis points North or South. By default the Z axis will point North, and the Y axis will point East (e.g. a right handed system), but you should check the axes for non-default values.

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

Nested Class Summary
private  class GeocentricCoordinateSystem.Export
          Wrap a LocalCoordinateSystem 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
          The axis infos.
private  HorizontalDatum datum
          The horizontal datum.
static GeocentricCoordinateSystem DEFAULT
          The default geocentric coordinate system.
private static AxisInfo[] DEFAULT_AXIS
          The set of default axis orientation.
private  PrimeMeridian meridian
          The prime meridian.
private static long serialVersionUID
          Serial number for interoperability with different versions.
private  Unit unit
          The linear unit.
 
Fields inherited from class org.deegree_impl.model.cs.Info
pool
 
Constructor Summary
(package private) GeocentricCoordinateSystem(java.util.Map properties, Unit unit, HorizontalDatum datum, PrimeMeridian meridian, AxisInfo[] axis)
          Construct a geocentric coordinate system.
  GeocentricCoordinateSystem(java.lang.String name, HorizontalDatum datum)
          Construct a geocentric coordinate system with default axis.
  GeocentricCoordinateSystem(java.lang.String name, Unit unit, HorizontalDatum datum, PrimeMeridian meridian)
          Construct a geocentric coordinate system with default axis.
  GeocentricCoordinateSystem(java.lang.String name, Unit unit, HorizontalDatum datum, PrimeMeridian meridian, AxisInfo[] axis)
          Construct a geocentric coordinate system.
 
Method Summary
(package private)  java.lang.String addString(java.lang.StringBuffer buffer)
          Fill the part inside "[...]".
private static AxisInfo[] clone(AxisInfo[] axis)
          Clone the specified axis array.
 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 dimension within coordinate system.
(package private)  Datum getDatum()
          Override CoordinateSystem.getDatum().
 int getDimension()
          Returns the dimension of this coordinate system, which is usually 3.
 HorizontalDatum getHorizontalDatum()
          Returns the horizontal datum.
 PrimeMeridian getPrimeMeridian()
          Returns the prime meridian.
 Unit getUnits(int dimension)
          Gets units for dimension within coordinate system.
(package private)  java.lang.Object toOpenGIS(java.lang.Object adapters)
          Returns an OpenGIS interface for this local 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

DEFAULT_AXIS

private static final AxisInfo[] DEFAULT_AXIS
The set of default axis orientation. The X axis points towards the prime meridian. The Y axis points East. The Z axis points North.


DEFAULT

public static final GeocentricCoordinateSystem DEFAULT
The default geocentric coordinate system. Prime meridian is Greenwich, horizontal datum in WGS84 and linear units are metre. The X axis points towards the prime meridian. The Y axis points East. The Z axis points North.


unit

private final Unit unit
The linear unit.


datum

private final HorizontalDatum datum
The horizontal datum.


meridian

private final PrimeMeridian meridian
The prime meridian.


axis

private final AxisInfo[] axis
The axis infos.

Constructor Detail

GeocentricCoordinateSystem

public GeocentricCoordinateSystem(java.lang.String name,
                                  HorizontalDatum datum)
Construct a geocentric coordinate system with default axis. Unit are metres and prime meridian is greenwich.

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

GeocentricCoordinateSystem

public GeocentricCoordinateSystem(java.lang.String name,
                                  Unit unit,
                                  HorizontalDatum datum,
                                  PrimeMeridian meridian)
Construct a geocentric coordinate system with default axis. The X axis points towards the prime meridian. The Y axis points East. The Z axis points North.

Parameters:
name - The coordinate system name.
unit - The linear unit.
datum - The horizontal datum.
meridian - The prime meridian.

GeocentricCoordinateSystem

public GeocentricCoordinateSystem(java.lang.String name,
                                  Unit unit,
                                  HorizontalDatum datum,
                                  PrimeMeridian meridian,
                                  AxisInfo[] axis)
Construct a geocentric coordinate system.

Parameters:
name - The coordinate system name.
unit - The linear unit.
datum - The horizontal datum.
meridian - The prime meridian.
axis - The axis info. This is usually an array of lenght 3.

GeocentricCoordinateSystem

GeocentricCoordinateSystem(java.util.Map properties,
                           Unit unit,
                           HorizontalDatum datum,
                           PrimeMeridian meridian,
                           AxisInfo[] axis)
Construct a geocentric coordinate system.

Parameters:
properties - The set of properties (see Info).
unit - The linear unit.
datum - The horizontal datum.
meridian - The prime meridian.
axis - The axis info. This is usually an array of lenght 3.
Method Detail

clone

private static AxisInfo[] clone(AxisInfo[] axis)
Clone the specified axis array.


getDimension

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

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

getHorizontalDatum

public HorizontalDatum getHorizontalDatum()
Returns the horizontal datum. The horizontal datum is used to determine where the center of the Earth is considered to be. All coordinate points will be measured from the center of the Earth, and not the surface.

See Also:
CS_GeocentricCoordinateSystem.getHorizontalDatum()

getUnits

public Unit getUnits(int dimension)
Gets units for dimension within coordinate system. For a GeocentricCoordinateSystem, the units is the same for all axis.

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

getAxis

public AxisInfo getAxis(int dimension)
Gets axis details for dimension within coordinate system. Each dimension in the coordinate system has a corresponding axis.

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

getPrimeMeridian

public PrimeMeridian getPrimeMeridian()
Returns the prime meridian.

See Also:
CS_GeocentricCoordinateSystem.getPrimeMeridian()

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 local 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