Package org.geotools.referencing.crs
Class DefaultCompoundCRS
- Object
-
- Formattable
-
- AbstractIdentifiedObject
-
- AbstractReferenceSystem
-
- AbstractCRS
-
- DefaultCompoundCRS
-
- All Implemented Interfaces:
Serializable
,CompoundCRS
,CoordinateReferenceSystem
,IdentifiedObject
,ReferenceSystem
public class DefaultCompoundCRS extends AbstractCRS implements 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 ofCoordinateReferenceSystem
.- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class AbstractCRS
coordinateSystem
-
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 IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
-
Fields inherited from interface ReferenceSystem
DOMAIN_OF_VALIDITY_KEY, SCOPE_KEY
-
-
Constructor Summary
Constructors Constructor Description DefaultCompoundCRS(String name, CoordinateReferenceSystem... crs)
Constructs a coordinate reference system from a name.DefaultCompoundCRS(Map<String,?> properties, CoordinateReferenceSystem... crs)
Constructs a coordinate reference system from a set of properties.DefaultCompoundCRS(CompoundCRS crs)
Constructs a new compound CRS with the same values than the specified one.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
calculateHashCode()
Returns a hash value for this compound CRS.boolean
equals(AbstractIdentifiedObject object, boolean compareMetadata)
Compares this coordinate reference system with the specified object for equality.protected String
formatWKT(Formatter formatter)
Format the inner part of a Well Known Text (WKT) element.List<CoordinateReferenceSystem>
getCoordinateReferenceSystems()
The ordered list of coordinate reference systems.List<SingleCRS>
getSingleCRS()
Returns the ordered list of single coordinate reference systems.static List<SingleCRS>
getSingleCRS(CoordinateReferenceSystem crs)
Returns the ordered list of single coordinate reference systems for the specified CRS.-
Methods inherited from class AbstractCRS
distance, getCoordinateSystem, hashCode
-
Methods inherited from class AbstractReferenceSystem
getDomainOfValidity, 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 CoordinateReferenceSystem
getCoordinateSystem
-
Methods inherited from interface IdentifiedObject
getAlias, getIdentifiers, getName, getRemarks, toWKT
-
Methods inherited from interface ReferenceSystem
getDomainOfValidity, getScope
-
-
-
-
Constructor Detail
-
DefaultCompoundCRS
public DefaultCompoundCRS(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.- Parameters:
crs
- The coordinate reference system to copy.- Since:
- 2.2
-
DefaultCompoundCRS
public DefaultCompoundCRS(String name, 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(Map<String,?> properties, 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 List<CoordinateReferenceSystem> getCoordinateReferenceSystems()
The ordered list of coordinate reference systems.- Specified by:
getCoordinateReferenceSystems
in interfaceCompoundCRS
- Returns:
- The coordinate reference systems as an unmodifiable list.
-
getSingleCRS
public List<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 ofSingleCRS
objects.- Returns:
- The single coordinate reference systems as an unmodifiable list.
-
getSingleCRS
public static List<SingleCRS> getSingleCRS(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:
ClassCastException
- if a CRS is neither aSingleCRS
or aCompoundCRS
.
-
equals
public boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
Compares this coordinate reference system with the specified object for equality.- Overrides:
equals
in classAbstractCRS
- 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.
-
calculateHashCode
public int calculateHashCode()
Returns a hash value for this compound CRS.- Overrides:
calculateHashCode
in classAbstractCRS
- 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 classAbstractCRS
- Parameters:
formatter
- The formatter to use.- Returns:
- The name of the WKT element type, which is
"COMPD_CS"
. - See Also:
Formattable.toWKT()
,Formattable.toString()
-
-