Interface HexagonalGridCoverage

  • All Superinterfaces:
    ContinuousCoverage, Coverage

    @UML(identifier="CV_HexagonalGridCoverage",
         specification=ISO_19123)
    public interface HexagonalGridCoverage
    extends ContinuousCoverage
    Evaluates a coverage at direct positions within a network of hexagons centered on a set of grid points. Evaluation is based on interpolation between the centres of the ValueHexagons surrounding the input position.

    Coverages are sometimes based on tessellations composed of regular hexagons. Such tessellations are usually called hexagonal grids. In fact, the centers of a set of regular hexagons that form such a tessellation correspond to the grid points of a quadrilateral grid. That grid can be described as a rectified grid in which the two offset vectors are of equal length but differ in direction by 60°. The length of a side of the hexagon is L = S×tan 30°, where S is the length of the offset vector. This means that the values in the coverage range can be stored as a grid values matrix and accessed through a sequence rule. The hexagons are the Thiessen polygons that are generated around the grid points.

    Note: A set of Thiessen polygons generated from the grid points of any 2-dimensional rectified grid described by two offset vectors that are equal in length but not orthogonal will be a set of congruent hexagons. The hexagons will be irregular unless the offset vectors differ in direction by exactly 60°.
    Since:
    GeoAPI 2.1
    TODO:
    evaluateInverse
    • Method Detail

      • getElements

        @UML(identifier="element",
             obligation=OPTIONAL,
             specification=ISO_19123)
        Set<ValueHexagon> getElements()
        Returns the set of value objects used to evaluate the coverage. This association is optional - an analytical coverage needs no value objects.
        Specified by:
        getElements in interface ContinuousCoverage
        Returns:
        the value used to evaluate the coverage, or null if not applicable.
      • getInterpolationMethod

        @UML(identifier="interpolationType",
             obligation=OPTIONAL,
             specification=ISO_19123)
        InterpolationMethod getInterpolationMethod()
        Returns the interpolation method to be used in evaluating the coverage. The most common interpolation methods are "lost area" and "nearest neighbour". Lost area interpolation can return a different record of feature attribute values for each direct position within a value hexagon. On the other hand, nearest neighbour interpolation will return for any direct position within a value hexagon the record associated with the grid point-value pair at the centre of the value hexagon. In other words, a hexagonal grid coverage that uses nearest neighbour interpolation acts like a discrete surface coverage.
        Specified by:
        getInterpolationMethod in interface ContinuousCoverage
        Returns:
        the interpolation method, or null if not applicable.
      • locate

        @UML(identifier="locate",
             obligation=OPTIONAL,
             specification=ISO_19123)
        Set<ValueHexagon> locate​(DirectPosition p)
        Returns the set of values hexagon that include the domain objects containing the specified direct position.
        Specified by:
        locate in interface ContinuousCoverage
        Parameters:
        p - the position where to locate objects.
        Returns:
        the objects at the given location.
      • evaluate

        @UML(identifier="evaluate",
             obligation=MANDATORY,
             specification=ISO_19123)
        Set<Record> evaluate​(DirectPosition p,
                             Collection<String> list)
                      throws PointOutsideCoverageException,
                             CannotEvaluateException
        Returns a set of records of feature attribute values for the specified direct position. Evaluation of a hexagonal grid coverage involves two steps. The first is to locate the value hexagon that contains the input direct position; the second is to interpolate the feature attribute values at the direct position from the grid point-value pairs at the centres of the surrounding value hexagons.
        Specified by:
        evaluate in interface ContinuousCoverage
        Specified by:
        evaluate in interface Coverage
        Parameters:
        p - The position where to evaluate.
        list - The field of interest, or null for every fields.
        Returns:
        the feature attributes.
        Throws:
        PointOutsideCoverageException - if the point is outside the coverage domain.
        CannotEvaluateException - if the point can not be evaluated for some other reason.
      • getSource

        @UML(identifier="source",
             obligation=MANDATORY,
             specification=ISO_19123)
        GridValuesMatrix getSource()
        Links this hexagonal coverage to the grid values matrix for which it is an evaluator. The returned matrix is specialized by four constraints:
        Returns:
        the underlying data.