Class Datum

java.lang.Object
org.locationtech.proj4j.datum.Datum
All Implemented Interfaces:
Serializable

public class Datum extends Object implements Serializable
A class representing a geodetic datum.

A geodetic datum consists of a set of reference points on or in the Earth, and a reference Ellipsoid giving an approximation to the true shape of the geoid.

In order to transform between two geodetic points specified on different datums, it is necessary to transform between the two datums. There are various ways in which this datum conversion may be specified:

  • A 3-parameter conversion
  • A 7-parameter conversion
  • A grid-shift conversion
In order to be able to transform between any two datums, the parameter-based transforms are provided as a transform to the common WGS84 datum. The WGS transforms of two arbitrary datum transforms can be concatenated to provide a transform between the two datums.

Notable datums in common use include NAD83 and WGS84.

See Also:
  • Field Details

    • TYPE_UNKNOWN

      public static final int TYPE_UNKNOWN
      See Also:
    • TYPE_WGS84

      public static final int TYPE_WGS84
      See Also:
    • TYPE_3PARAM

      public static final int TYPE_3PARAM
      See Also:
    • TYPE_7PARAM

      public static final int TYPE_7PARAM
      See Also:
    • TYPE_GRIDSHIFT

      public static final int TYPE_GRIDSHIFT
      See Also:
    • DEFAULT_TRANSFORM

      private static final double[] DEFAULT_TRANSFORM
    • WGS84

      public static final Datum WGS84
    • GGRS87

      public static final Datum GGRS87
    • NAD83

      public static final Datum NAD83
    • NAD27

      public static final Datum NAD27
    • POTSDAM

      public static final Datum POTSDAM
    • CARTHAGE

      public static final Datum CARTHAGE
    • HERMANNSKOGEL

      public static final Datum HERMANNSKOGEL
    • IRE65

      public static final Datum IRE65
    • NZGD49

      public static final Datum NZGD49
    • OSGB36

      public static final Datum OSGB36
    • code

      private String code
    • name

      private String name
    • ellipsoid

      private Ellipsoid ellipsoid
    • transform

      private double[] transform
    • grids

      private List<Grid> grids
    • ELLIPSOID_E2_TOLERANCE

      public static final double ELLIPSOID_E2_TOLERANCE
      See Also:
  • Constructor Details

  • Method Details

    • getCode

      public String getCode()
    • getName

      public String getName()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getEllipsoid

      public Ellipsoid getEllipsoid()
    • getTransformToWGS84

      public double[] getTransformToWGS84()
    • getTransformType

      public int getTransformType()
    • hasTransformToWGS84

      public boolean hasTransformToWGS84()
    • isEqual

      public boolean isEqual(Datum datum)
      Tests if this is equal to another Datum.

      Datums are considered to be equal iff:

      • their transforms are equal
      • OR their ellipsoids are (approximately) equal
      Parameters:
      datum -
      Returns:
    • transformFromGeocentricToWgs84

      public void transformFromGeocentricToWgs84(ProjCoordinate p)
    • transformToGeocentricFromWgs84

      public void transformToGeocentricFromWgs84(ProjCoordinate p)
    • shift

      public void shift(ProjCoordinate xy)
    • inverseShift

      public void inverseShift(ProjCoordinate xy)
    • setGrids

      public void setGrids(List<Grid> grids)