Class 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 of CoordinateReferenceSystem.
Since:
2.1
Author:
Martin Desruisseaux (IRD)
See Also:
  • Constructor Details

    • 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 Details

    • getCoordinateReferenceSystems

      public List<CoordinateReferenceSystem> getCoordinateReferenceSystems()
      The ordered list of coordinate reference systems.
      Specified by:
      getCoordinateReferenceSystems in interface CompoundCRS
      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 of SingleCRS 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 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 this.
      compareMetadata - true for performing a strict comparaison, or false 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 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 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 name of the WKT element type, which is "COMPD_CS".
      See Also: