org.geotools.referencing.crs
Class DefaultCompoundCRS

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.DefaultCompoundCRS
All Implemented Interfaces:
org.opengis.referencing.crs.CompoundCRS, org.opengis.referencing.crs.CoordinateReferenceSystem, org.opengis.referencing.IdentifiedObject, org.opengis.referencing.ReferenceSystem, java.io.Serializable

public class DefaultCompoundCRS
extends AbstractCRS
implements org.opengis.referencing.crs.CompoundCRS

A coordinate reference system describing the position of points through two or more independent coordinate reference systems. Thus it is associated with two or more coordinate systems and datums by defining the compound CRS as an ordered set of two or more instances of CoordinateReferenceSystem.

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

Field Summary
 
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
DefaultCompoundCRS(org.opengis.referencing.crs.CompoundCRS crs)
          Constructs a new compound CRS with the same values than the specified one.
DefaultCompoundCRS(java.util.Map properties, org.opengis.referencing.crs.CoordinateReferenceSystem[] crs)
          Constructs a coordinate reference system from a set of properties.
DefaultCompoundCRS(java.lang.String name, org.opengis.referencing.crs.CoordinateReferenceSystem[] crs)
          Constructs a coordinate reference system from a name.
DefaultCompoundCRS(java.lang.String name, org.opengis.referencing.crs.CoordinateReferenceSystem head, org.opengis.referencing.crs.CoordinateReferenceSystem tail)
          Constructs a coordinate reference system from a name and two CRS.
DefaultCompoundCRS(java.lang.String name, org.opengis.referencing.crs.CoordinateReferenceSystem head, org.opengis.referencing.crs.CoordinateReferenceSystem middle, org.opengis.referencing.crs.CoordinateReferenceSystem tail)
          Constructs a coordinate reference system from a name and three CRS.
 
Method Summary
 boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
          Compares 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.
 java.util.List getCoordinateReferenceSystems()
          The ordered list of coordinate reference systems.
 org.opengis.referencing.crs.SingleCRS[] getSingleCRS()
          Returns the ordered list of single coordinate reference systems.
static org.opengis.referencing.crs.SingleCRS[] getSingleCRS(org.opengis.referencing.crs.CoordinateReferenceSystem crs)
          Returns the ordered list of single coordinate reference systems for the specified CRS.
 int hashCode()
          Returns a hash value for this compound 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.CoordinateReferenceSystem
getCoordinateSystem
 
Methods inherited from interface org.opengis.referencing.ReferenceSystem
getScope, getValidArea
 
Methods inherited from interface org.opengis.referencing.IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
 

Constructor Detail

DefaultCompoundCRS

public DefaultCompoundCRS(org.opengis.referencing.crs.CompoundCRS crs)
Constructs a new compound CRS 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

DefaultCompoundCRS

public DefaultCompoundCRS(java.lang.String name,
                          org.opengis.referencing.crs.CoordinateReferenceSystem head,
                          org.opengis.referencing.crs.CoordinateReferenceSystem tail)
Constructs a coordinate reference system from a name and two CRS.

Parameters:
name - The name.
head - The head CRS.
tail - The tail CRS.

DefaultCompoundCRS

public DefaultCompoundCRS(java.lang.String name,
                          org.opengis.referencing.crs.CoordinateReferenceSystem head,
                          org.opengis.referencing.crs.CoordinateReferenceSystem middle,
                          org.opengis.referencing.crs.CoordinateReferenceSystem tail)
Constructs a coordinate reference system from a name and three CRS.

Parameters:
name - The name.
head - The head CRS.
middle - The middle CRS.
tail - The tail CRS.

DefaultCompoundCRS

public DefaultCompoundCRS(java.lang.String name,
                          org.opengis.referencing.crs.CoordinateReferenceSystem[] crs)
Constructs a coordinate reference system from a name.

Parameters:
name - The name.
crs - The array of coordinate reference system making this compound CRS.

DefaultCompoundCRS

public DefaultCompoundCRS(java.util.Map properties,
                          org.opengis.referencing.crs.CoordinateReferenceSystem[] crs)
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".
crs - The array of coordinate reference system making this compound CRS.
Method Detail

getCoordinateReferenceSystems

public java.util.List getCoordinateReferenceSystems()
The ordered list of coordinate reference systems.

Specified by:
getCoordinateReferenceSystems in interface org.opengis.referencing.crs.CompoundCRS
Returns:
The coordinate reference systems.

getSingleCRS

public org.opengis.referencing.crs.SingleCRS[] getSingleCRS()
Returns the ordered list of single coordinate reference systems. If this compound CRS contains other compound CRS, all of them are expanded in an array of objects.

Returns:
The single coordinate reference systems.
Throws:
java.lang.ClassCastException - if a CRS is neither a SingleCRS or a CompoundCRS.

getSingleCRS

public static org.opengis.referencing.crs.SingleCRS[] getSingleCRS(org.opengis.referencing.crs.CoordinateReferenceSystem crs)
Returns the ordered list of single coordinate reference systems for the specified CRS. The specified CRS doesn't need to be a Geotools implementation.

Parameters:
crs - The coordinate reference system.
Returns:
The single coordinate reference systems.
Throws:
java.lang.ClassCastException - if a CRS is neither a SingleCRS or a CompoundCRS.

equals

public boolean equals(AbstractIdentifiedObject object,
                      boolean compareMetadata)
Compares this coordinate reference system with the specified object for equality.

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 compound CRS.

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.

Overrides:
formatWKT in class AbstractCRS
Parameters:
formatter - The formatter to use.
Returns:
The WKT element name, which is "COMPD_CS"


Copyright © GeoTools. All Rights Reserved.