org.geotools.referencing.crs
Class AbstractSingleCRS

java.lang.Object
  extended byorg.geotools.referencing.wkt.Formattable
      extended byorg.geotools.referencing.AbstractIdentifiedObject
          extended byorg.geotools.referencing.AbstractReferenceSystem
              extended byorg.geotools.referencing.crs.AbstractCRS
                  extended byorg.geotools.referencing.crs.AbstractSingleCRS
All Implemented Interfaces:
org.opengis.referencing.crs.CoordinateReferenceSystem, org.opengis.referencing.IdentifiedObject, org.opengis.referencing.ReferenceSystem, java.io.Serializable, org.opengis.referencing.crs.SingleCRS
Direct Known Subclasses:
AbstractDerivedCRS, DefaultEngineeringCRS, DefaultGeocentricCRS, DefaultGeographicCRS, DefaultImageCRS, DefaultTemporalCRS, DefaultVerticalCRS

public class AbstractSingleCRS
extends AbstractCRS
implements org.opengis.referencing.crs.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 prefix instead. An exception to this rule may occurs when it is not possible to identify the exact type.

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

Field Summary
protected  org.opengis.referencing.datum.Datum datum
          The datum.
 
Fields inherited from class org.geotools.referencing.crs.AbstractCRS
coordinateSystem
 
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.ReferenceSystem
SCOPE_KEY, VALID_AREA_KEY
 
Fields inherited from interface org.opengis.referencing.IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
AbstractSingleCRS(java.util.Map properties, org.opengis.referencing.datum.Datum datum, org.opengis.referencing.cs.CoordinateSystem cs)
          Constructs a coordinate reference system from a set of properties.
AbstractSingleCRS(org.opengis.referencing.crs.SingleCRS crs)
          Constructs a new coordinate reference system with the same values than the specified one.
 
Method Summary
 boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
          Compare this coordinate reference system with the specified object for equality.
protected  java.lang.String formatWKT(Formatter formatter)
          Format the inner part of a Well Known Text (WKT) element.
 org.opengis.referencing.cs.CoordinateSystemAxis getAxis(int dimension)
          Returns the axis for the underlying coordinate system at the specified dimension.
 org.opengis.referencing.datum.Datum getDatum()
          Returns the datum.
 int getDimension()
          Returns the dimension of the underlying coordinate system.
 int hashCode()
          Returns a hash value for this CRS.
 
Methods inherited from class org.geotools.referencing.crs.AbstractCRS
distance, getCoordinateSystem
 
Methods inherited from class org.geotools.referencing.AbstractReferenceSystem
getScope, getValidArea
 
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.crs.SingleCRS
getCoordinateSystem
 
Methods inherited from interface org.opengis.referencing.ReferenceSystem
getScope, getValidArea
 
Methods inherited from interface org.opengis.referencing.IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

datum

protected final org.opengis.referencing.datum.Datum datum
The datum.

Constructor Detail

AbstractSingleCRS

public AbstractSingleCRS(org.opengis.referencing.crs.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 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

AbstractSingleCRS

public AbstractSingleCRS(java.util.Map properties,
                         org.opengis.referencing.datum.Datum datum,
                         org.opengis.referencing.cs.CoordinateSystem cs)
Constructs a coordinate reference system from a set of properties. The properties are given unchanged to the super-class constructor.

Parameters:
properties - Set of properties. Should contains at least "name".
datum - The datum.
cs - The coordinate system.
Method Detail

getDatum

public org.opengis.referencing.datum.Datum getDatum()
Returns the datum.

Specified by:
getDatum in interface org.opengis.referencing.crs.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 org.opengis.referencing.cs.CoordinateSystemAxis getAxis(int dimension)
                                                        throws java.lang.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:
java.lang.IndexOutOfBoundsException - if is out of bounds.

equals

public boolean equals(AbstractIdentifiedObject object,
                      boolean compareMetadata)
Compare this coordinate reference system with the specified object for equality. If is , then all available properties are compared including valid area and scope.

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

hashCode

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

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

formatWKT

protected java.lang.String formatWKT(Formatter formatter)
Format the inner part of a Well Known Text (WKT) element. The default implementation write the following elements:

Overrides:
formatWKT in class AbstractCRS
Parameters:
formatter - The formatter to use.
Returns:
The WKT element name.


Copyright © GeoTools. All Rights Reserved.