Package 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 theValueHexagon
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 2dimensional 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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Set<Record>
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
evaluateInverse, getInterpolationParameterTypes, select

Methods inherited from interface Coverage
evaluate, evaluate, evaluate, evaluate, evaluate, evaluate, find, find, getCommonPointRule, getCoordinateReferenceSystem, getDomainElements, getDomainExtents, getEnvelope, 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 interfaceContinuousCoverage
 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 pointvalue 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 interfaceContinuousCoverage
 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 interfaceContinuousCoverage
 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 pointvalue pairs at the centres of the surrounding value hexagons. Specified by:
evaluate
in interfaceContinuousCoverage
 Specified by:
evaluate
in interfaceCoverage
 Parameters:
p
 The position where to evaluate.list
 The field of interest, ornull
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: 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.
 Returns:
 the underlying data.

