Class FranceGeocentricInterpolation

All Implemented Interfaces:
Serializable, Formattable, MathTransformProvider, Deprecable, LenientComparable, org.opengis.referencing.IdentifiedObject, org.opengis.referencing.operation.OperationMethod
Direct Known Subclasses:
MolodenskyInterpolation

public class FranceGeocentricInterpolation extends AbstractProvider
The provider for "Geocentric translation by Grid Interpolation (IGN)" (EPSG:1087). This method replaces the deprecated "France geocentric interpolation" (ESPG:9655). This operation requires a grid file provided by the French mapping agency.

Source: IGN document NTG_88.pdf, "Grille de paramètres de transformation de coordonnées" at http://www.ign.fr.

In principle, this operation method is designed specifically for the French mapping (e.g. EPSG:1053 "NTF to RGF93 (1)") using the following hard-coded parameters:
  • Source ellipsoid: Clarke 1880
  • Target ellipsoid: RGF93
  • Initial X-axis translation: 168.0 (sign reversed)
  • Initial Y-axis translation: 60.0 (sign reversed)
  • Initial Z-axis translation: -320.0 (sign reversed)
However, the Apache SIS implementation is designed in such a way that this operation method could be used for other areas.
Since:
0.7
Version:
1.3
Author:
Simon Reynard (Geomatys), Martin Desruisseaux (Geomatys)
See Also:
  • Field Details

    • TX

      public static final double TX
      Geocentric translation parameters to use as a first guess before to use the grid in France. The values of those parameters are specified by the NTG_88 document and apply only for France. If the geocentric interpolation is used for other area, other parameter values will be needed.

      The values used by SIS are from source (RGF93) to target (NTF). This is the opposite of the direction defined in NTG_88. Consequently, the signs need to be the opposite of NTG_88 values.

      See Also:
    • TY

      public static final double TY
      Geocentric translation parameters to use as a first guess before to use the grid in France. The values of those parameters are specified by the NTG_88 document and apply only for France. If the geocentric interpolation is used for other area, other parameter values will be needed.

      The values used by SIS are from source (RGF93) to target (NTF). This is the opposite of the direction defined in NTG_88. Consequently, the signs need to be the opposite of NTG_88 values.

      See Also:
    • TZ

      public static final double TZ
      Geocentric translation parameters to use as a first guess before to use the grid in France. The values of those parameters are specified by the NTG_88 document and apply only for France. If the geocentric interpolation is used for other area, other parameter values will be needed.

      The values used by SIS are from source (RGF93) to target (NTF). This is the opposite of the direction defined in NTG_88. Consequently, the signs need to be the opposite of NTG_88 values.

      See Also:
    • FILE

      public static final org.opengis.parameter.ParameterDescriptor<Path> FILE
      The operation parameter descriptor for the Geocentric translation file parameter value.
      Parameter names
      EPSG: Geocentric translation file
      Notes:
      • Default value: gr3df97a.txt
    • INTERPOLATION_CRS

      public static final org.opengis.parameter.ParameterDescriptor<Integer> INTERPOLATION_CRS
      The operation parameter descriptor for the EPSG code for Interpolation CRS parameter value.
      Parameter names
      EPSG: EPSG code for Interpolation CRS
      EPSG: Interpolation CRS code
      Notes:
      • No default value
    • STANDARD_CT

      public static final org.opengis.parameter.ParameterDescriptor<Integer> STANDARD_CT
      The operation parameter descriptor for the EPSG code for "standard" CT parameter value.
      Parameter names
      EPSG: EPSG code for "standard" CT
      EPSG: Standard CT code
      Notes:
      • No default value
  • Constructor Details

    • FranceGeocentricInterpolation

      public FranceGeocentricInterpolation()
      Constructs a provider.
  • Method Details

    • isRecognized

      public static boolean isRecognized(Path file)
      Returns true if the given path seems to be a grid published by the French mapping agency for France. In principle this "France geocentric interpolation" is designed specifically for use with the "gr3df97a.txt" grid, but in fact the Apache SIS implementation should be flexible enough for use with other area.
      Parameters:
      file - the grid file.
      Returns:
      true if the given file looks like a fie from the French mapping agency.
    • inverse

      public AbstractProvider inverse()
      The inverse of FranceGeocentricInterpolation is a different operation.
      Returns:
      null.
      See Also:
    • createMathTransform

      public org.opengis.referencing.operation.MathTransform createMathTransform(org.opengis.referencing.operation.MathTransformFactory factory, org.opengis.parameter.ParameterValueGroup values) throws org.opengis.parameter.ParameterNotFoundException, org.opengis.util.FactoryException
      Creates a transform from the specified group of parameter values. This method creates the transform from target to source (which is the direction that use the interpolation grid directly without iteration), then inverts the transform.
      Parameters:
      factory - the factory to use if this constructor needs to create other math transforms.
      values - the group of parameter values.
      Returns:
      the created math transform.
      Throws:
      org.opengis.parameter.ParameterNotFoundException - if a required parameter was not found.
      org.opengis.util.FactoryException - if an error occurred while loading the grid.
    • redimension

      @Deprecated public final org.opengis.referencing.operation.OperationMethod redimension(int sourceDimensions, int targetDimensions)
      Deprecated.
      ISO 19111:2019 removed source/target dimensions attributes.
      Returns the elements of the given array at an index computed from the given dimensions.
      Overrides:
      redimension in class DefaultOperationMethod
      Parameters:
      sourceDimensions - the desired number of input dimensions.
      targetDimensions - the desired number of output dimensions.
      Returns:
      the redimensioned operation method, or null if none.