# Interface Conversion

All Superinterfaces:
  `CoordinateOperation, IdentifiedObject, SingleOperation`

All Known Subinterfaces:
  `ConicProjection, CylindricalProjection, PlanarProjection, Projection`

All Known Implementing Classes:
  `DefaultConversion`

@UML(identifier="CC_Conversion", specification=ISO_19111) public interface Conversion extends SingleOperation
An operation on coordinates that does not include any change of Datum. The best-known example of a coordinate conversion is a map projection. The parameters describing coordinate conversions are defined rather than empirically derived.

Note that some conversions have no parameters.

Since:
  1.0
See Also:
  - `Transformation`

- ## Field Summary

  ### Fields inherited from interface CoordinateOperation

  `COORDINATE_OPERATION_ACCURACY_KEY, DOMAIN_OF_VALIDITY_KEY, OPERATION_VERSION_KEY, SCOPE_KEY`

  ### Fields inherited from interface IdentifiedObject

  `ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getOperationVersion()`
  This attribute is declared in `CoordinateOperation` but is not used in a conversion.
  `CoordinateReferenceSystem`
  `getSourceCRS()`
  Returns the source CRS.
  `CoordinateReferenceSystem`
  `getTargetCRS()`
  Returns the target CRS.

  ### Methods inherited from interface CoordinateOperation

  `getCoordinateOperationAccuracy, getDomainOfValidity, getMathTransform, getScope`

  ### Methods inherited from interface IdentifiedObject

  `getAlias, getIdentifiers, getName, getRemarks, toWKT`

  ### Methods inherited from interface SingleOperation

  `getMethod, getParameterValues`

- ## Method Details

  - ### getSourceCRS

    @UML(identifier="sourceCRS", obligation=OPTIONAL, specification=ISO_19111) CoordinateReferenceSystem getSourceCRS()
    Returns the source CRS. Conversions may have a source CRS that is not specified here, but through `GeneralDerivedCRS​.getBaseCRS()` instead.
    Specified by:
      `getSourceCRS` in interface `CoordinateOperation`
    Returns:
      The source CRS, or `null` if not available.
    See Also:
      - `getSourceCRS()`
      - `Transformation​.getSourceCRS()`

  - ### getTargetCRS

    @UML(identifier="targetCRS", obligation=OPTIONAL, specification=ISO_19111) CoordinateReferenceSystem getTargetCRS()
    Returns the target CRS. Conversions may have a target CRS that is not specified here, but through `GeneralDerivedCRS` instead.
    Specified by:
      `getTargetCRS` in interface `CoordinateOperation`
    Returns:
      The target CRS, or `null` if not available.
    See Also:
      - `getTargetCRS()`
      - `Transformation​.getTargetCRS()`

  - ### getOperationVersion

    @UML(identifier="operationVersion", obligation=FORBIDDEN, specification=ISO_19111) String getOperationVersion()
    This attribute is declared in `CoordinateOperation` but is not used in a conversion.
    Specified by:
      `getOperationVersion` in interface `CoordinateOperation`
    Returns:
      Always `null`.