# Interface EngineeringCRS

All Superinterfaces:
  `CoordinateReferenceSystem, IdentifiedObject, ReferenceSystem, SingleCRS`

All Known Implementing Classes:
  `DefaultEngineeringCRS`

@UML(identifier="SC_EngineeringCRS", specification=ISO_19111) public interface EngineeringCRS extends SingleCRS
A contextually local coordinate reference system. It can be divided into two broad categories:

- earth-fixed systems applied to engineering activities on or near the surface of the earth;
- CRSs on moving platforms such as road vehicles, vessels, aircraft, or spacecraft.

Earth-fixed Engineering CRSs are commonly based on a simple flat-earth approximation of the earth's surface, and the effect of earth curvature on feature geometry is ignored: calculations on coordinates use simple plane arithmetic without any corrections for earth curvature. The application of such Engineering CRSs to relatively small areas and "contextually local" is in this case equivalent to "spatially local".

Engineering CRSs used on moving platforms are usually intermediate coordinate reference systems that are computationally required to calculate coordinates referenced to geocentric, geographic or projected CRSs. These engineering coordinate reference systems are subject to all the motions of the platform with which they are associated. In this case "contextually local" means that the associated coordinates are meaningful only relative to the moving platform. Earth curvature is usually irrelevant and is therefore ignored. In the spatial sense their applicability may extend from the immediate vicinity of the platform (e.g. a moving seismic ship) to the entire earth (e.g. in space applications). The determining factor is the mathematical model deployed in the positioning calculations. Transformation of coordinates from these moving Engineering CRSs to earth-referenced coordinate reference systems involves time-dependent coordinate operation parameters.

Used with CS type(s)
`Affine`, `Cartesian`, `Ellipsoidal`, `Spherical`, `Cylindrical`, `Polar`, `Vertical`, `Linear`

Since:
  1.0

- ## Field Summary

  ### Fields inherited from interface IdentifiedObject

  `ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY`

  ### Fields inherited from interface ReferenceSystem

  `DOMAIN_OF_VALIDITY_KEY, SCOPE_KEY`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `EngineeringDatum`
  `getDatum()`
  Returns the datum, which must be an engineering one.

  ### Methods inherited from interface IdentifiedObject

  `getAlias, getIdentifiers, getName, getRemarks, toWKT`

  ### Methods inherited from interface ReferenceSystem

  `getDomainOfValidity, getScope`

  ### Methods inherited from interface SingleCRS

  `getCoordinateSystem`

- ## Method Details

  - ### getDatum

    @UML(identifier="datum", obligation=MANDATORY, specification=ISO_19111) EngineeringDatum getDatum()
    Returns the datum, which must be an engineering one.
    Specified by:
      `getDatum` in interface `SingleCRS`
    Returns:
      The datum.