Interface CompoundCRS

  • All Superinterfaces:
    CoordinateReferenceSystem, IdentifiedObject, ReferenceSystem

    public interface CompoundCRS
    extends CoordinateReferenceSystem
    A coordinate reference system describing the position of points through two or more independent coordinate reference systems. Thus it is indirectly 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.

    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:

    • Geographic 2D + Vertical
    • Geographic 2D + Engineering 1D (near vertical)
    • Projected + Vertical
    • Projected + Engineering 1D (near vertical)
    • Engineering (horizontal 2D or 1D linear) + Vertical
    • Engineering (1D linear) + Vertical
    Any coordinate reference system, or any of the above listed combinations of coordinate reference systems, can have a TemporalCRS 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.
    See Also:
    CRSAuthorityFactory.createCompoundCRS(String), CRSFactory.createCompoundCRS(Map, CoordinateReferenceSystem[])
    • Method Detail

      • getComponents

        List<CoordinateReferenceSystem> getComponents()
        The ordered list of coordinate reference systems.
        the ordered list of coordinate reference systems.
        Departure from OGC/ISO specification:
        ISO 19111 said "nesting of compound CRSs shall not be permitted; the individual single systems shall be aggregated together". However this approach causes data lost: it is difficult to add a temporal CRS to an existing three-dimensional compound CRS without loosing the name and identifiers of the 3D CRS, unless nesting is permitted. It is programmatically easier to convert nested CRSs to a flat list of single CRSs when needed than to reconstruct the 3D CRS from the single components. Consequently GeoAPI has been keep conformant with the legacy OGC 01-009 specification in this aspect, which were allowing nested compound CRS.