Package org.geotools.referencing.datum
Class DefaultVerticalDatum
- Object
-
- Formattable
-
- AbstractIdentifiedObject
-
- AbstractDatum
-
- DefaultVerticalDatum
-
- All Implemented Interfaces:
Serializable
,Datum
,VerticalDatum
,IdentifiedObject
public class DefaultVerticalDatum extends AbstractDatum implements VerticalDatum
A textual description and/or a set of parameters identifying a particular reference level surface used as a zero-height surface. The description includes its position with respect to the Earth for any of the height types recognized by this standard. There are several types of vertical datums, and each may place constraints on the coordinate system axis with which it is combined to create a vertical CRS.- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static DefaultVerticalDatum
ELLIPSOIDAL
Default vertical datum for ellipsoidal heights.static DefaultVerticalDatum
GEOIDAL
Default vertical datum for geoidal heights.-
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
Constructors Constructor Description DefaultVerticalDatum(String name, VerticalDatumType type)
Constructs a vertical datum from a name.DefaultVerticalDatum(Map<String,?> properties, VerticalDatumType type)
Constructs a vertical datum from a set of properties.DefaultVerticalDatum(VerticalDatum datum)
Constructs a new datum with the same values than the specified one.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(AbstractIdentifiedObject object, boolean compareMetadata)
Compare this vertical datum with the specified object for equality.protected String
formatWKT(Formatter formatter)
Format the inner part of a Well Known Text (WKT) element.VerticalDatumType
getVerticalDatumType()
The type of this vertical datum.static VerticalDatumType
getVerticalDatumTypeFromLegacyCode(int code)
Returns the vertical datum type from a legacy code.int
hashCode()
Returns a hash value for this vertical datum.-
Methods inherited from class AbstractDatum
getAnchorPoint, getDomainOfValidity, getRealizationEpoch, getScope
-
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
cleanupThreadLocals, toString, toWKT, toWKT, toWKT, toWKT
-
Methods inherited from interface Datum
getAnchorPoint, getDomainOfValidity, getRealizationEpoch, getScope
-
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
-
-
-
-
Field Detail
-
GEOIDAL
public static final DefaultVerticalDatum GEOIDAL
Default vertical datum for geoidal heights.
-
ELLIPSOIDAL
public static final DefaultVerticalDatum ELLIPSOIDAL
Default vertical datum for ellipsoidal heights. Ellipsoidal heights are measured along the normal to the ellipsoid used in the definition of horizontal datum.
-
-
Constructor Detail
-
DefaultVerticalDatum
public DefaultVerticalDatum(String name, VerticalDatumType type)
Constructs a vertical datum from a name.- Parameters:
name
- The datum name.type
- The type of this vertical datum.
-
DefaultVerticalDatum
public DefaultVerticalDatum(VerticalDatum 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.- Parameters:
datum
- The datum to copy.- Since:
- 2.2
-
DefaultVerticalDatum
public DefaultVerticalDatum(Map<String,?> properties, VerticalDatumType type)
Constructs a vertical datum 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"
.type
- The type of this vertical datum.
-
-
Method Detail
-
getVerticalDatumType
public VerticalDatumType getVerticalDatumType()
The type of this vertical datum. Default is “geoidal”.- Specified by:
getVerticalDatumType
in interfaceVerticalDatum
- Returns:
- The type of this vertical datum.
-
getVerticalDatumTypeFromLegacyCode
public static VerticalDatumType getVerticalDatumTypeFromLegacyCode(int code)
Returns the vertical datum type from a legacy code. The legacy codes were defined in Coordinate Transformation Services (OGC 01-009), which also defined the Well Known Text (WKT) format. This method is used for WKT parsing.- Parameters:
code
- The legacy vertical datum code.- Returns:
- The vertical datum type, or
null
if the code is unrecognized.
-
equals
public boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
Compare this vertical datum with the specified object for equality.- Overrides:
equals
in classAbstractDatum
- Parameters:
object
- The object to compare tothis
.compareMetadata
-true
for performing a strict comparaison, orfalse
for comparing only properties relevant to transformations.- Returns:
true
if both objects are equal.
-
hashCode
public int hashCode()
Returns a hash value for this vertical datum. Name, remarks and the like are not taken in account. In other words, two vertical datums will return the same hash value if they are equal in the sense ofequals
(AbstractIdentifiedObject, false)- Overrides:
hashCode
in classAbstractIdentifiedObject
- 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 classAbstractDatum
- Parameters:
formatter
- The formatter to use.- Returns:
- The WKT element name, which is "VERT_DATUM"
- See Also:
Formattable.toWKT()
,Formattable.toString()
-
-