## org.opengis.coverage.grid
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 `ValueHexagon`s 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°.

TODO:
  evaluateInverse

Method Summary
`Set` `evaluate(DirectPosition p, Collection<String> list)` Returns a set of records of feature attribute values for the specified direct position.
`Set<ValueHexagon>` `getElements()` Returns the set of value objects used to evaluate the coverage.
`InterpolationMethod` `getInterpolationMethod()` Returns the interpolation method to be used in evaluating the coverage.
`GridValuesMatrix` `getSource()` Links this hexagonal coverage to the grid values matrix for which it is an evaluator.
`Set<ValueHexagon>` `locate(DirectPosition p)` Returns the set of values hexagon that include the domain objects containing the specified direct position.

Methods inherited from interface ContinuousCoverage
`evaluate, evaluateInverse, getInterpolationParameterTypes, select`

Methods inherited from interface Coverage
`evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, find, find, getCommonPointRule, getCoordinateReferenceSystem, getDimensionNames, getDomainElements, getDomainExtents, getEnvelope, getMetadataNames, getMetadataValue, getNumSampleDimensions, getRangeElements, getRangeType, getRenderableImage, getSampleDimension, getSources, list`

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`

### 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`

### 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`

### evaluate

    @UML(identifier="evaluate",
         obligation=MANDATORY,
         specification=ISO_19123)
    Set evaluate(DirectPosition p,
                                                                        Collection<String> list)

  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.

  TODO:
    The return type should be Set<Record>.

### 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:

  - It is a rectified grid.
  - The inherited attribute dimension has a value of 2.
  - The offset vectors differ in direction by 60 degrees.
  - The lengths of the offset vectors are equal.

  TODO:
    The first constraints doesn't seem very consistent with the return type.

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.