Class TLcdGeoidGeodeticDatumFactory

java.lang.Object
com.luciad.geodesy.TLcdGeoidGeodeticDatumFactory
All Implemented Interfaces:
ILcdGeodeticDatumFactory

public class TLcdGeoidGeodeticDatumFactory extends Object implements ILcdGeodeticDatumFactory
Creates geodetic datums combining horizontal and vertical datums. The horizontal datums define ellipsoids, for interpreting geodetic coordinates. The vertical datums define non-zero geoid reference heights on top of these ellipsoids, for interpreting elevations and altitudes.
Since:
9.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Constant used to create a geodetic datum for Australia combining the Geocentric Datum of Australia 1994 (GDA 94) and the Australian Height Datum (AHD).
    static final int
    Constant used to create a geodetic datum for Canada combining the North American Datum 1983 Canadian Spatial Reference System (NAD 83 CSRS) and the Canadian Geodetic Vertical Datum of 2013 (CGVD2013).
    static final int
    Constant used to create a geodetic datum for Canada combining the North American Datum 1983 Canadian Spatial Reference System (NAD 83 CSRS) and the Canadian Geodetic Vertical Datum 1928 (CGVD 28).
    static final int
    Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 2008 (EGM 2008).
    static final int
    Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1984 (EGM 84).
    static final int
    Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1984 (EGM 84).
    static final int
    Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1996 (EGM 96).
    static final int
    Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1996 (EGM 96).
    static final int
    Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1996 (EGM 96).
    static final int
    Constant used to create a geodetic datum for the Territory of Alaska combining the North American Datum 1983 (NAD 83) and the North American Vertical Datum 1988 (NAVD 88).
    static final int
    Constant used to create a geodetic datum for the Territory of American Samoa combining the North American Datum 1983 (NAD 83) and the North American Vertical Datum 1988 (NAVD 88).
    static final int
    Constant used to create a geodetic datum for the Territory of Guam and the Northern Marianas Islands combining the North American Datum 1983 (NAD 83) and the North American Vertical Datum 1988 (NAVD 88).
    static final int
    Constant used to create a geodetic datum for the Territory of the Hawaiian Islands combining the North American Datum 1983 (NAD 83) and the North American Vertical Datum 1988 (NAVD 88).
    static final int
    Constant used to create a geodetic datum for the Territory of Puerto Rico and the Virgin Islands combining the North American Datum 1983 (NAD 83) and the North American Vertical Datum 1988 (NAVD 88).
    static final int
    Constant used to create a geodetic datum for the conterminous United States combining the North American Datum 1983 (NAD 83) and the North American Vertical Datum 1988 (NAVD 88).
    static final int
    Constant used to create a geodetic datum for the conterminous United States combining the North American Datum 1927 (NAD 27) and the National Geodetic Vertical Datum 1927 (NGVD 29).
    static final int
    Constant used to create a geodetic datum based on the quasi-geoid model NLGEO2018 adapted to EPSG:28992.
    static final int
    Constant used to create a geodetic datum based on the Swedish geoid model KTH08 adapted to SWEREF 99 and RH 2000.
    static final int
    Constant used to create a geodetic datum based on the Swedish geoid model KTH08 adapted to SWEREF 99 and RH 70.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new geodetic datum factory.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a TLcdGeodeticDatum for the specified identification code.
    createGeodeticDatum(String aPrefix, Properties aProperties)
    Creates a ILcdGeodeticDatum from a Properties Object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • EGM84_MODEL

      public static final int EGM84_MODEL
      Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1984 (EGM 84). It computes geoid heights with the potential coefficient model EGM 84 and a set of spherical harmonic coefficients of a correction term, complete to degree and order 180. Its accuracy is 0.005 m, relative to the reference implementation of the model provided by the National Geospatial-Intelligence Agency (NGA), at the expense of being computationally intensive.

      The readable name of the geodetic datum is "WGS84 + EGM84 (Model)".

      See Also:
    • EGM84_GRID

      public static final int EGM84_GRID
      Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1984 (EGM 84). It computes geoid heights with a 30'x30' spaced grid in combination with a bilinear interpolation algorithm. Its accuracy is 0.015 m, relative to the reference implementation of the interpolation algorithm provided by the National Geospatial-Intelligence Agency (NGA).

      The readable name of the geodetic datum is "WGS84 + EGM84 (Grid)", "WGS84 + EGM84" or "EGM84".

      See Also:
    • EGM96_MODEL

      public static final int EGM96_MODEL
      Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1996 (EGM 96). It computes geoid heights with the potential coefficient model EGM 84 and a set of spherical harmonic coefficients of a correction term, complete to degree and order 360. Its accuracy is 0.001 m, relative to the reference implementation of the model provided by the National Geospatial-Intelligence Agency (NGA), at the expense of being computationally intensive.

      The readable name of the geodetic datum is "WGS84 + EGM96 (Model)".

      See Also:
    • EGM96_GRID_BILINEAR

      public static final int EGM96_GRID_BILINEAR
      Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1996 (EGM 96). It computes geoid heights based on a 15'x15' spaced grid, with a bilinear interpolation algorithm. Its worst-case accuracy is 1.25 m, relative to the reference implementation of the interpolation algorithm provided by the National Geospatial-Intelligence Agency (NGA). In practice, its accuracy is better than 0.45 m in 99%, and better than 0.20 m in 95% of the continental regions.

      The readable name of the geodetic datum is "WGS84 + EGM96 (Grid bilinear)", "WGS84 + EGM96" or "EGM96".

      See Also:
    • EGM96_GRID_BICUBIC

      public static final int EGM96_GRID_BICUBIC
      Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 1996 (EGM 96). It computes geoid heights based on a 15'x15' spaced grid, with a bicubic interpolation algorithm. Its worst-case accuracy is 0.21 m, relative to the reference implementation of the interpolation algorithm provided by the National Geospatial-Intelligence Agency (NGA). In practice, its accuracy is better than 0.08 m in 99%, and better than 0.04 m in 95% of the continental regions.

      The readable name of the geodetic datum is "WGS84 + EGM96 (Grid bicubic)".

      See Also:
    • NGVD29_US

      public static final int NGVD29_US
      Constant used to create a geodetic datum for the conterminous United States combining the North American Datum 1927 (NAD 27) and the National Geodetic Vertical Datum 1927 (NGVD 29). It computes geoid heights based on a 1'x1' spaced grid, with a bilinear interpolation algorithm. Its accuracy is 0.01 m, relative to the reference implementation of the interpolation algorithm provided by the National Geodetic Survey (NGS).

      The readable name of the geodetic datum is "NAD83 + NGVD29 (Conterminous United States)", "NAD83 + NGVD29" or "NGVD29".

      See Also:
    • AHD

      public static final int AHD
      Constant used to create a geodetic datum for Australia combining the Geocentric Datum of Australia 1994 (GDA 94) and the Australian Height Datum (AHD). It computes geoid heights based on a 2'x2' spaced grid, with a bilinear interpolation algorithm.

      The readable name of the geodetic datum is "ITRF97 + AHD".

      See Also:
    • CGVD28

      public static final int CGVD28
      Constant used to create a geodetic datum for Canada combining the North American Datum 1983 Canadian Spatial Reference System (NAD 83 CSRS) and the Canadian Geodetic Vertical Datum 1928 (CGVD 28). It computes geoid heights based on a 2'x2' spaced grid, with a bilinear interpolation algorithm. Its accuracy is 0.02 m, relative to the reference implementation of the interpolation algorithm provided by the Geodetic Survey Division (GSD).

      The readable name of the geodetic datum is "NAD83 (CSRS) + CGVD28".

      See Also:
    • SWEN08_RH2000

      public static final int SWEN08_RH2000
      Constant used to create a geodetic datum based on the Swedish geoid model KTH08 adapted to SWEREF 99 and RH 2000. Includes corrections for the land uplift and residual interpolation. It computes geoid heights based on a 0.04° x 0.02° spaced grid, with a linear interpolation algorithm.

      The readable name of the geodetic datum is "SWEN08_RH2000".

      See Also:
    • SWEN08_RH70

      public static final int SWEN08_RH70
      Constant used to create a geodetic datum based on the Swedish geoid model KTH08 adapted to SWEREF 99 and RH 70. Includes corrections for the land uplift and residual interpolation. It computes geoid heights based on a 0.04° x 0.02° spaced grid, with a linear interpolation algorithm.

      The readable name of the geodetic datum is "SWEN08_RH70".

      See Also:
    • EGM2008_GRID_TWO_AND_HALF_MINUTE

      public static final int EGM2008_GRID_TWO_AND_HALF_MINUTE
      Constant used to create a geodetic datum combining the World Geodetic System 1984 (WGS 84) and the Earth Gravitational Model 2008 (EGM 2008). It computes geoid heights based on a 2.5'x2.5' spaced grid, with an interpolation algorithm. Its worst-case accuracy is 1 cm, relative to the reference implementation of the harmonic synthesis algorithm of the National Geospatial-Intelligence Agency (NGA).

      The readable name of the geodetic datum is "WGS84 + EGM2008 (Grid 2.5\' by 2.5\')".

      Since:
      2017.1
      See Also:
    • RD_NAP

      public static final int RD_NAP
      Constant used to create a geodetic datum based on the quasi-geoid model NLGEO2018 adapted to EPSG:28992. It computes geoid heights based on a 0.0125° x 0.02° spaced grid, with a linear interpolation algorithm.

      The readable name of the geodetic datum is "Normaal Amsterdams Peil".

      Since:
      2021.0
      See Also:
    • CGVD2013

      public static final int CGVD2013
      Constant used to create a geodetic datum for Canada combining the North American Datum 1983 Canadian Spatial Reference System (NAD 83 CSRS) and the Canadian Geodetic Vertical Datum of 2013 (CGVD2013). The vertical datum is realized by CGG2013a: the Canadian gravimetric geoid model of 2013 – Version A.

      It computes geoid heights based on a 2'x2' spaced grid, with a bilinear interpolation algorithm.

      The readable name of the geodetic datum is "NAD83 (CSRS) + CGVD2013".

      Since:
      2022.1
      See Also:
  • Constructor Details

    • TLcdGeoidGeodeticDatumFactory

      public TLcdGeoidGeodeticDatumFactory()
      Constructs a new geodetic datum factory.
  • Method Details

    • createGeodeticDatum

      public ILcdGeodeticDatum createGeodeticDatum(String aPrefix, Properties aProperties) throws IllegalArgumentException
      Creates a ILcdGeodeticDatum from a Properties Object.

      This implementation will look for the key "<aPrefix>"TLcdGeoidGeodeticDatumFactory.geodeticDatumName"". The property should hold the name or the ID of the geodetic datum which should be created. If no geodetic datum can be created, null shall be returned.

      Specified by:
      createGeodeticDatum in interface ILcdGeodeticDatumFactory
      Parameters:
      aPrefix - prefix for property names.
      aProperties - Properties object from which to derive the geodetic datum.
      Returns:
      ILcdGeodeticDatum associated to the combination aPrefix and aProperties.
      Throws:
      IllegalArgumentException - if no geodetic datum can be associated to the combination aPrefix and aProperties.
    • createGeodeticDatum

      public ILcdGeodeticDatum createGeodeticDatum(int aID)
      Returns a TLcdGeodeticDatum for the specified identification code. The supported identification codes are defined as constants in this class. If no geodetic datum can be created, null shall be returned.
      Parameters:
      aID - the identification code. one of the constants.
      Returns:
      a TLcdGeodeticDatum for the specified identification code.