org.geotools.referencing.datum
Class DefaultGeodeticDatum

Object
  extended by Formattable
      extended by AbstractIdentifiedObject
          extended by AbstractDatum
              extended by DefaultGeodeticDatum
All Implemented Interfaces:
Serializable, Datum, GeodeticDatum, IdentifiedObject

public class DefaultGeodeticDatum
extends AbstractDatum
implements GeodeticDatum

Defines the location and precise orientation in 3-dimensional space of a defined ellipsoid (or sphere) that approximates the shape of the earth. Used also for Cartesian coordinate system centered in this ellipsoid (or sphere).

Since:
2.1
Author:
Martin Desruisseaux (IRD)
See Also:
Ellipsoid, PrimeMeridian, Serialized Form
Module:
modules/library/referencing (gt-referencing.jar)

Field Summary
static String BURSA_WOLF_KEY
          The "bursaWolf" property for datum shifts.
static DefaultGeodeticDatum WGS84
          The default WGS 1984 datum.
 
Fields inherited from class AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR
 
Fields inherited from class Formattable
SINGLE_LINE
 
Fields inherited from interface Datum
ANCHOR_POINT_KEY, DOMAIN_OF_VALIDITY_KEY, REALIZATION_EPOCH_KEY, SCOPE_KEY
 
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
DefaultGeodeticDatum(GeodeticDatum datum)
          Constructs a new datum with the same values than the specified one.
DefaultGeodeticDatum(Map<String,?> properties, Ellipsoid ellipsoid, PrimeMeridian primeMeridian)
          Constructs a geodetic datum from a set of properties.
DefaultGeodeticDatum(String name, Ellipsoid ellipsoid, PrimeMeridian primeMeridian)
          Constructs a geodetic datum from a name.
 
Method Summary
 boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
          Compare this datum with the specified object for equality.
protected  String formatWKT(Formatter formatter)
          Format the inner part of a Well Known Text (WKT) element.
static Matrix getAffineTransform(GeodeticDatum source, GeodeticDatum target)
          Returns a matrix that can be used to define a transformation to the specified datum.
 BursaWolfParameters[] getBursaWolfParameters()
          Returns all Bursa Wolf parameters specified in the properties map at construction time.
 BursaWolfParameters getBursaWolfParameters(GeodeticDatum target)
          Returns Bursa Wolf parameters for a datum shift toward the specified target, or null if none.
 Ellipsoid getEllipsoid()
          Returns the ellipsoid.
 PrimeMeridian getPrimeMeridian()
          Returns the prime meridian.
 int hashCode()
          Returns a hash value for this geodetic datum.
static boolean isWGS84(Datum datum)
          Returns true if the specified object is equals (at least on computation purpose) to the WGS84 datum.
 
Methods inherited from class AbstractDatum
getAnchorPoint, getDomainOfValidity, getRealizationEpoch, getScope, getValidArea
 
Methods inherited from class AbstractIdentifiedObject
asSet, ensureAngularUnit, ensureLinearUnit, ensureNonNull, ensureNonNull, ensureTimeUnit, equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, nameMatches, nameMatches, nameMatches
 
Methods inherited from class Formattable
toString, toWKT, toWKT, toWKT
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface Datum
getAnchorPoint, getDomainOfValidity, getRealizationEpoch, getScope
 
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

WGS84

public static final DefaultGeodeticDatum WGS84
The default WGS 1984 datum.


BURSA_WOLF_KEY

public static final String BURSA_WOLF_KEY
The "bursaWolf" property for datum shifts.

See Also:
Constant Field Values
Constructor Detail

DefaultGeodeticDatum

public DefaultGeodeticDatum(GeodeticDatum datum)
Constructs a new datum 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

DefaultGeodeticDatum

public DefaultGeodeticDatum(String name,
                            Ellipsoid ellipsoid,
                            PrimeMeridian primeMeridian)
Constructs a geodetic datum from a name.

Parameters:
name - The datum name.
ellipsoid - The ellipsoid.
primeMeridian - The prime meridian.

DefaultGeodeticDatum

public DefaultGeodeticDatum(Map<String,?> properties,
                            Ellipsoid ellipsoid,
                            PrimeMeridian primeMeridian)
Constructs a geodetic datum from a set of properties. The properties map is given unchanged to the super-class constructor. Additionally, the following properties are understood by this construtor:

Property name Value type Value given to
 "bursaWolf"   BursaWolfParameters or an array of those   getBursaWolfParameters()

Parameters:
properties - Set of properties. Should contains at least "name".
ellipsoid - The ellipsoid.
primeMeridian - The prime meridian.
Method Detail

getEllipsoid

public Ellipsoid getEllipsoid()
Returns the ellipsoid.

Specified by:
getEllipsoid in interface GeodeticDatum

getPrimeMeridian

public PrimeMeridian getPrimeMeridian()
Returns the prime meridian.

Specified by:
getPrimeMeridian in interface GeodeticDatum

getBursaWolfParameters

public BursaWolfParameters[] getBursaWolfParameters()
Returns all Bursa Wolf parameters specified in the properties map at construction time.

Since:
2.4

getBursaWolfParameters

public BursaWolfParameters getBursaWolfParameters(GeodeticDatum target)
Returns Bursa Wolf parameters for a datum shift toward the specified target, or null if none. This method search only for Bursa-Wolf parameters explicitly specified in the properties map at construction time. This method doesn't try to infer a set of parameters from indirect informations. For example it doesn't try to inverse the parameters specified in the target datum if none were found in this datum. If such an elaborated search is wanted, use getAffineTransform(org.opengis.referencing.datum.GeodeticDatum, org.opengis.referencing.datum.GeodeticDatum) instead.


getAffineTransform

public static Matrix getAffineTransform(GeodeticDatum source,
                                        GeodeticDatum target)
Returns a matrix that can be used to define a transformation to the specified datum. If no transformation path is found, then this method returns null.

Parameters:
source - The source datum.
target - The target datum.
Returns:
An affine transform from source to target, or null if none.
See Also:
BursaWolfParameters.getAffineTransform()

isWGS84

public static boolean isWGS84(Datum datum)
Returns true if the specified object is equals (at least on computation purpose) to the WGS84 datum. This method may conservatively returns false if the specified datum is uncertain (for example because it come from an other implementation).


equals

public boolean equals(AbstractIdentifiedObject object,
                      boolean compareMetadata)
Compare this datum with the specified object for equality.

Overrides:
equals in class AbstractDatum
Parameters:
object - The object to compare to this.
compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations.
Returns:
true if both objects are equal.

hashCode

public int hashCode()
Returns a hash value for this geodetic datum. Name, remarks and the like are not taken in account. In other words, two geodetic datums will return the same hash value if they are equal in the sense of equals(AbstractIdentifiedObject, false).

Overrides:
hashCode in class AbstractIdentifiedObject
Returns:
The hash code value. This value doesn't need to be the same in past or future versions of this class.

formatWKT

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

Overrides:
formatWKT in class AbstractDatum
Parameters:
formatter - The formatter to use.
Returns:
The WKT element name, which is "DATUM"
See Also:
Formattable.toWKT(), Formattable.toString()


Copyright © 1996-2009 Geotools. All Rights Reserved.