/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2011, Open Source Geospatial Foundation (OSGeo) * (C) 2003-2005, Open Geospatial Consortium Inc. * * All Rights Reserved. http://www.opengis.org/legal/ */ package org.opengis.referencing.crs; import java.util.List; import org.opengis.annotation.UML; import static org.opengis.annotation.Obligation.*; import static org.opengis.annotation.Specification.*; /** * 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 * {@linkplain org.opengis.referencing.cs.CoordinateSystem Coordinate Systems} and * {@linkplain org.opengis.referencing.datum.Datum Datums} by defining the compound CRS * as an ordered set of two or more instances of {@link CoordinateReferenceSystem}. * <p> * In general, a Compound CRS may contain any number of axes. The Compound CRS contains an * ordered set of coordinate reference systems and the tuple order of a compound coordinate * set shall follow that order, while the subsets of the tuple, described by each of the * composing coordinate reference systems, follow the tuple order valid for their respective * coordinate reference systems. * <p> * For spatial coordinates, a number of constraints exist for the construction of Compound CRSs. * For example, the coordinate reference systems that are combined should not contain any duplicate * or redundant axes. Valid combinations include: * <p> * <UL> * <LI>Geographic 2D + Vertical</LI> * <LI>Geographic 2D + Engineering 1D (near vertical)</LI> * <LI>Projected + Vertical</LI> * <LI>Projected + Engineering 1D (near vertical)</LI> * <LI>Engineering (horizontal 2D or 1D linear) + Vertical</LI> * </UL> * <p> * Any coordinate reference system, or any of the above listed combinations of coordinate * reference systems, can have a Temporal CRS added. More than one Temporal CRS may be added * if these axes represent different time quantities. For example, the oil industry sometimes * uses "4D seismic", by which is meant seismic data with the vertical axis expressed in * milliseconds (signal travel time). A second time axis indicates how it changes with time * (years), e.g. as a reservoir is gradually exhausted of its recoverable oil or gas). * * * @source $URL: http://svn.osgeo.org/geotools/trunk/modules/library/opengis/src/main/java/org/opengis/referencing/crs/CompoundCRS.java $ * @version <A HREF="http://portal.opengeospatial.org/files/?artifact_id=6716">Abstract specification 2.0</A> * @author Martin Desruisseaux (IRD) * @since GeoAPI 1.0 */ @UML(identifier="SC_CompoundCRS", specification=ISO_19111) public interface CompoundCRS extends CoordinateReferenceSystem { /** * The ordered list of coordinate reference systems. * * @return The ordered list of coordinate reference systems. */ @UML(identifier="includesCRS", obligation=MANDATORY, specification=ISO_19111) List<CoordinateReferenceSystem> getCoordinateReferenceSystems(); }