org.geotoolkit.referencing.crs
Class AbstractSingleCRS
Object
FormattableObject
AbstractIdentifiedObject
AbstractReferenceSystem
AbstractCRS
AbstractSingleCRS
- All Implemented Interfaces:
- Serializable, Formattable, LenientComparable, CoordinateReferenceSystem, SingleCRS, IdentifiedObject, ReferenceSystem
- Direct Known Subclasses:
- AbstractDerivedCRS, DefaultEngineeringCRS, DefaultGeocentricCRS, DefaultGeographicCRS, DefaultImageCRS, DefaultTemporalCRS, DefaultVerticalCRS
@Immutable
public class AbstractSingleCRS
- extends AbstractCRS
- implements SingleCRS
Abstract coordinate reference system, consisting of a single
coordinate system and a single
datum (as opposed to compound CRS).
A coordinate reference system consists of an ordered sequence of coordinate system
axes that are related to the earth through a datum. A coordinate reference system
is defined by one datum and by one coordinate system. Most coordinate reference system
do not move relative to the earth, except for engineering coordinate reference systems
defined on moving platforms such as cars, ships, aircraft, and spacecraft.
Coordinate reference systems are commonly divided into sub-types. The common classification
criterion for sub-typing of coordinate reference systems is the way in which they deal with
earth curvature. This has a direct effect on the portion of the earth's surface that can be
covered by that type of CRS with an acceptable degree of error. The exception to the rule is
the subtype "Temporal" which has been added by analogy.
This class is conceptually abstract, even if it is technically possible to
instantiate it. Typical applications should create instances of the most specific subclass with
Default prefix instead. An exception to this rule may occurs when it is not possible to
identify the exact type.
- Since:
- 2.1
- Version:
- 3.18
- Author:
- Martin Desruisseaux (IRD, Geomatys)
- See Also:
AbstractCS,
AbstractDatum,
Serialized Form
- Module:
| Methods inherited from class AbstractIdentifiedObject |
equals, equals, equals, equals, getAlias, getIdentifier, getIdentifier, getIdentifiers, getName, getName, getName, getProperties, getProperties, getRemarks, hashCode, nameMatches, nameMatches, nameMatches |
AbstractSingleCRS
public AbstractSingleCRS(SingleCRS crs)
- Constructs a new coordinate reference system with the same values than the specified one.
This copy constructor provides a way to wrap 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:
crs - The coordinate reference system to copy.- Since:
- 2.2
AbstractSingleCRS
public AbstractSingleCRS(Map<String,?> properties,
Datum datum,
CoordinateSystem cs)
- Constructs a coordinate reference system from a set of properties.
The properties are given unchanged to the
base-class constructor.
- Parameters:
properties - Set of properties. Should contains at least "name".datum - The datum.cs - The coordinate system.
getDatum
public Datum getDatum()
- Returns the datum.
- Specified by:
getDatum in interface SingleCRS
- Returns:
- The datum.
getDimension
public int getDimension()
- Returns the dimension of the underlying coordinate system.
This is equivalent to
AbstractCRS.coordinateSystem.getDimension().
- Returns:
- The dimension of this coordinate reference system.
getAxis
public CoordinateSystemAxis getAxis(int dimension)
throws IndexOutOfBoundsException
- Returns the axis for the underlying coordinate system at
the specified dimension. This is equivalent to
AbstractCRS.coordinateSystem.getAxis(dimension).
- Parameters:
dimension - The zero based index of axis.
- Returns:
- The axis at the specified dimension.
- Throws:
IndexOutOfBoundsException - if dimension is out of bounds.
equals
public boolean equals(Object object,
ComparisonMode mode)
- Compares this coordinate reference system with the specified object for equality.
If the
mode argument value is STRICT or
BY_CONTRACT, then all available properties are
compared including the domain of validity and
the scope.
- Specified by:
equals in interface LenientComparable- Overrides:
equals in class AbstractCRS
- Parameters:
object - The object to compare to this.mode - STRICT for performing a strict comparison, or
IGNORE_METADATA for comparing only properties
relevant to transformations.
- Returns:
true if both objects are equal.
computeHashCode
protected int computeHashCode()
- Computes a hash value for this identified object. This method is invoked by
AbstractIdentifiedObject.hashCode() when first needed.
Implementation specific feature
In the Geotk implementation, the name, identifiers and remarks are not used for hash code computation.
Consequently two identified objects will return the same hash value if they are equal in the
sense of equals(…,
ComparisonMode.IGNORE_METADATA). This feature allows users to
implement metadata-insensitive HashMap.
- Overrides:
computeHashCode in class AbstractCRS
- Returns:
- The hash code value. This value may change between different execution of the
Geotk library.
Copyright © 2009-2011 Geotoolkit.org. All Rights Reserved.