# Package org.apache.sis.referencing.datum

package org.apache.sis.referencing.datum
Relationship of a `CoordinateSystem` (an abstract mathematical entity) to the earth or other system. An explanation for this package is provided in the OpenGIS® javadoc. The remaining discussion on this page is specific to the SIS implementation.

The root class in this package is `AbstractDatum`. Various subclasses are defined for various kinds of relationship to the Earth or time (geodetic, vertical, temporal), or to platforms (mobile or not) (engineering, image). Some of those SIS subclasses provide additional methods that are not part of OGC/ISO specifications:

- `DefaultEllipsoid​.getAuthalicRadius()`
- `DefaultEllipsoid​.getEccentricity()`
- `DefaultPrimeMeridian​.getGreenwichLongitude(Unit)`
- `DefaultGeodeticDatum​.getBursaWolfParameters()`
- `DefaultGeodeticDatum​.getPositionVectorTransformation(GeodeticDatum, Extent)`

## Datum shifts

Three classes are provided in support of coordinate transformations between different datums:

- `BursaWolfParameters` performs an approximation based on a translation, rotation and scale of geocentric coordinates.
- `TimeDependentBWP` is like `BursaWolfParameters`, but varies with time for taking in account the motion of plate tectonic.
- `DatumShiftGrid` is used for more accurate transformations than what `BursaWolfParameters` allows, by interpolating the geographic or geocentric translations in a grid (e.g. NADCON or NTv2) instead of apply the same transformation for every points.

Since:
  0.4

- Related Packages
  Module
  Package
  Description
  org.apache.sis.referencing
  org.apache.sis.referencing
  Base classes for reference systems used for general positioning.
  org.apache.sis.referencing
  org.apache.sis.referencing.crs
  Coordinate Reference System (CRS) definitions as coordinate systems related to the earth through datum.
  org.apache.sis.referencing
  org.apache.sis.referencing.cs
  Coordinate System (CS) definitions as the set of coordinate system axes that spans the coordinate space.
  org.apache.sis.referencing
  org.apache.sis.referencing.factory
  Creates Coordinate Reference System (CRS) objects from given properties or authority codes.
  org.apache.sis.referencing.gazetteer
  org.apache.sis.referencing.gazetteer
  Mapping between geographic identifiers (addresses, grid indexes…) and locations (descriptions, coordinates…).
  org.apache.sis.referencing
  org.apache.sis.referencing.operation
  Relationship between any two Coordinate Reference Systems (CRS).
- Classes
  Class
  Description
  AbstractDatum
  Specifies the relationship of a Coordinate System to the earth.
  BursaWolfParameters
  Parameters for a geographic transformation between two datum having the same prime meridian.
  DatumOrEnsemble
  Utility methods for working on objects that may be `Datum` or `DatumEnsemble`.
  DatumShiftGrid<C extends Quantity<C>, T extends Quantity<T>>
  Small but non-constant translations to apply on coordinates for datum shifts or other transformation process.
  DefaultDatumEnsemble<D extends Datum>
  Collection of datums which for low accuracy requirements may be considered to be insignificantly different from each other.
  DefaultEllipsoid
  Geometric figure that can be used to describe the approximate shape of the earth.
  DefaultEngineeringDatum
  Defines the origin of an engineering coordinate reference system.
  DefaultGeodeticDatum
  Defines the location and orientation of an ellipsoid that approximates the shape of the earth.
  DefaultGeodeticDatum.Dynamic
  A geodetic reference frame in which some of the defining parameters have time dependency.
  DefaultImageDatum
  Deprecated, for removal: This API element is subject to removal in a future version.
  The `ImageDatum` class has been removed in ISO 19111:2019.
  DefaultParametricDatum
  Defines the origin of a parametric coordinate reference system.
  DefaultPrimeMeridian
  Defines the origin from which longitude values are determined.
  DefaultTemporalDatum
  Defines the origin of a temporal coordinate reference system.
  DefaultVerticalDatum
  Identifies a particular reference level surface used as a zero-height surface.
  DefaultVerticalDatum.Dynamic
  A vertical reference frame in which some of the defining parameters have time dependency.
  TimeDependentBWP
  Parameters for a time-dependent geographic transformation between two datum.