Class InterpolationMethod

Object
CodeList<InterpolationMethod>
InterpolationMethod
All Implemented Interfaces:
Serializable, Comparable<InterpolationMethod>

@UML(identifier="CV_InterpolationMethod", specification=ISO_19123) public class InterpolationMethod extends CodeList<InterpolationMethod>
A list of codes that identify interpolation methods that may be used for evaluating continuous coverages. Evaluation of a continuous coverage involves interpolation between known feature attribute values associated with geometric objects in the domain of the discrete coverage that is provided as control for the continuous coverage. This code list includes 9 interpolation methods. Each is used in the context of specified geometric configurations (table below). Since InterpolationMethod is a CodeList, it may be extended in an application schema that specifies additional interpolation methods.

Method Coverage Type Value object dimension
Nearest NeighbourAny Any
Linear Segmented Curve 1
Quadratic Segmented Curve 1
Cubic Segmented Curve 1
Bilinear Quadrilateral Grid 2
Biquadratic Quadrilateral Grid 2
Bicubic Quadrilateral Grid 2
Lost Area Thiessen Polygon, Hexagonal Grid2
Barycentric TIN 2
Since:
GeoAPI 2.1
Author:
Martin Desruisseaux (IRD)
See Also:
  • Field Details

    • NEAREST_NEIGHBOUR

      @UML(identifier="Nearest neighbour", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod NEAREST_NEIGHBOUR
      Generates a feature attribute value at a direct position by assigning it the feature attribute value associated with the nearest domain object in the domain of the coverage. Nearest neighbour interpolation extends a discrete coverage to a step function defined on the convex hull of the domain objects in the domain of the coverage. Nearest neighbour interpolation is the only interpolation method described in ISO 19123 that can be used to interpolate attributes that have nominal or ordinal values.

      NOTE: In the case of a discrete point coverage, the "steps" of the step function are the Thiessen polygons generated by the set of points in the domain of the coverage.

    • LINEAR

      @UML(identifier="Linear interpolation", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod LINEAR
      Interpolation based on the assumption that feature attribute values vary in proportion to distance along a value segment.

      v = a + bx

      Linear interpolation may be used to interpolate feature attribute values along a line segment connecting any two point value pairs. It may also be used to interpolate feature attribute values at positions along a curve of any form, if the positions are described by values of an arc-length parameter.

      Given two point value pairs (ps, vs) and (pt, vt), where ps is the start point and pt is the end point of a value segment, and vs and vt are the feature attribute values associated with those points, the feature attribute value vi associated with the direct position pi is:

      vi = vs + (vt - vs) ((pi - ps)/(pt - ps))
    • QUADRATIC

      @UML(identifier="Quadratic interpolation", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod QUADRATIC
      Interpolation based on the assumption that feature attribute values vary as a quadratic function of distance along a value segment.

      v = a + bx + cx2

      where a is the value of a feature attribute at the start of a value segment and v is the value of a feature attribute at distance x along the curve from the start. Three point value pairs are needed to provide control values for calculating the coefficients of the function.

    • CUBIC

      @UML(identifier="Cubic interpolation", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod CUBIC
      Interpolation based on the assumption that feature attribute values vary as a cubic function of distance along a value segment.

      v = a + bx + cx2 + dx3

      where a is the value of a feature attribute at the start of a value segment and v is the value of a feature attribute at distance x along the curve from the start. Four point value pairs are needed to provide control values for calculating the coefficients of the function.

    • BILINEAR

      @UML(identifier="Bilinear interpolation", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod BILINEAR
      Interpolation based on the assumption that feature attribute values vary as a bilinear function of position within the grid cell.
    • BIQUADRATIC

      @UML(identifier="Biquadratic interpolation", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod BIQUADRATIC
      Interpolation based on the assumption that feature attribute values vary as a biquadratic function of position within the grid cell.
    • BICUBIC

      @UML(identifier="Bicubic interpolation", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod BICUBIC
      Interpolation based on the assumption that feature attribute values vary as a bicubic function of position within the grid cell.
    • LOST_AREA

      @UML(identifier="Lost area interpolation", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod LOST_AREA
      Lost area interpolation.
    • BARYCENTRIC

      @UML(identifier="Barycentric interpolation", obligation=CONDITIONAL, specification=ISO_19123) public static final InterpolationMethod BARYCENTRIC
      Barycentric interpolation.
  • Method Details

    • values

      public static InterpolationMethod[] values()
      Returns the list of InterpolationMethods.
      Returns:
      The list of codes declared in the current JVM.
    • family

      public InterpolationMethod[] family()
      Returns the list of enumerations of the same kind than this enum.
      Specified by:
      family in class CodeList<InterpolationMethod>
      Returns:
      The codes of the same kind than this code.
    • valueOf

      public static InterpolationMethod valueOf(String code)
      Returns the interpolation method that matches the given string, or returns a new one if none match it.
      Parameters:
      code - The name of the code to fetch or to create.
      Returns:
      A code matching the given name.