org.geotools.referencing.crs
Class AbstractCRS

java.lang.Object
  extended by org.geotools.referencing.wkt.Formattable
      extended by org.geotools.referencing.AbstractIdentifiedObject
          extended by org.geotools.referencing.AbstractReferenceSystem
              extended by org.geotools.referencing.crs.AbstractCRS
All Implemented Interfaces:
java.io.Serializable, org.opengis.referencing.crs.CoordinateReferenceSystem, org.opengis.referencing.IdentifiedObject, org.opengis.referencing.ReferenceSystem
Direct Known Subclasses:
AbstractSingleCRS, DefaultCompoundCRS

public abstract class AbstractCRS
extends AbstractReferenceSystem
implements org.opengis.referencing.crs.CoordinateReferenceSystem

Abstract coordinate reference system, usually defined by a coordinate system and a datum.

Since:
2.1
Version:
$Id: AbstractCRS.java 31000 2008-07-10 21:11:13Z desruisseaux $
Author:
Martin Desruisseaux (IRD)
See Also:
AbstractCS, AbstractDatum, Serialized Form

Field Summary
protected  org.opengis.referencing.cs.CoordinateSystem coordinateSystem
          The coordinate system.
 
Fields inherited from class org.geotools.referencing.AbstractIdentifiedObject
EMPTY_ALIAS_ARRAY, EMPTY_IDENTIFIER_ARRAY, IDENTIFIER_COMPARATOR, NAME_COMPARATOR, REMARKS_COMPARATOR
 
Fields inherited from class org.geotools.referencing.wkt.Formattable
SINGLE_LINE
 
Fields inherited from interface org.opengis.referencing.ReferenceSystem
DOMAIN_OF_VALIDITY_KEY, SCOPE_KEY
 
Fields inherited from interface org.opengis.referencing.IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
 
Constructor Summary
AbstractCRS(org.opengis.referencing.crs.CoordinateReferenceSystem crs)
          Constructs a new coordinate reference system with the same values than the specified one.
AbstractCRS(java.util.Map<java.lang.String,?> properties, org.opengis.referencing.cs.CoordinateSystem cs)
          Constructs a coordinate reference system from a set of properties.
 
Method Summary
 Measure distance(double[] coord1, double[] coord2)
          Computes the distance between two points.
 boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
          Compare this coordinate reference system with the specified object for equality.
protected  java.lang.String formatWKT(Formatter formatter)
          Formats the inner part of a Well Known Text (WKT) element.
 org.opengis.referencing.cs.CoordinateSystem getCoordinateSystem()
          Returns the coordinate system.
 int hashCode()
          Returns a hash value for this CRS.
 
Methods inherited from class org.geotools.referencing.AbstractReferenceSystem
getDomainOfValidity, 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, nameMatches
 
Methods inherited from class org.geotools.referencing.wkt.Formattable
cleanupThreadLocals, 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.ReferenceSystem
getDomainOfValidity, getScope
 
Methods inherited from interface org.opengis.referencing.IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Field Detail

coordinateSystem

protected final org.opengis.referencing.cs.CoordinateSystem coordinateSystem
The coordinate system.

Constructor Detail

AbstractCRS

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

Parameters:
crs - The coordinate reference system to copy.
Since:
2.2

AbstractCRS

public AbstractCRS(java.util.Map<java.lang.String,?> properties,
                   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".
cs - The coordinate system.
Method Detail

getCoordinateSystem

public org.opengis.referencing.cs.CoordinateSystem getCoordinateSystem()
Returns the coordinate system.

Specified by:
getCoordinateSystem in interface org.opengis.referencing.crs.CoordinateReferenceSystem

distance

public Measure distance(double[] coord1,
                        double[] coord2)
                 throws java.lang.UnsupportedOperationException,
                        org.opengis.geometry.MismatchedDimensionException
Computes the distance between two points. This convenience method delegates the work to the underlyling coordinate system, if possible.

Parameters:
coord1 - Coordinates of the first point.
coord2 - Coordinates of the second point.
Returns:
The distance between coord1 and coord2.
Throws:
java.lang.UnsupportedOperationException - if this coordinate reference system can't compute distances.
org.opengis.geometry.MismatchedDimensionException - if a coordinate doesn't have the expected dimension.

equals

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

Overrides:
equals in class AbstractReferenceSystem
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 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 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 java.lang.String formatWKT(Formatter formatter)
Formats the inner part of a Well Known Text (WKT) element. The default implementation writes the following elements:

Overrides:
formatWKT in class Formattable
Parameters:
formatter - The formatter to use.
Returns:
The name of the WKT element type (e.g. "GEOGCS").
See Also:
Formattable.toWKT(), Formattable.toString()


Copyright © 1996-2010 Geotools. All Rights Reserved.