## org.opengis.coverage
Interface ThiessenPolygonCoverage

All Superinterfaces:
  ContinuousCoverage, Coverage

    @UML(identifier="CV_ThiessenPolygonCoverage",
         specification=ISO_19123)
    public interface ThiessenPolygonCoverage

extends ContinuousCoverage

Evaluates a coverage at direct positions within a Thiessen polygon network constructed from a set of discrete point-value pairs. Evaluation is based on interpolation between the centeres of the Thiessen value polygons surrounding the input position.

### Thiessen polygon networks

A finite collection of points on a plane determines a partition of the plane into a collection of polygons equal in number to the collection of points. A Thiessen polygon is generated from one of a defining set of points by forming the set of direct positions that are closer to that point than to any other point in the defining set. The specific point is called the centre of the resulting polygon. The boundaries between neighbouring polygons are the perpendicular bisectors of the lines between their respective centres. Each polygon shares each of its edges with exactly one other polygon. Each polygon contains exactly one point from the defining set. Thiessen polygons are also known as Voronoi Diagrams or Proximal Sets.

A Thiessen polygon network is a tessellation of a 2D space using Thiessen polygons. A Thiessen polygon network provides a structure that supports interpolation of feature attribute values from the polygon centres to direct positions within the polygons.

TODO:
  Provide a figure derived from figure 11 in ISO 19123.

Method Summary
`Set` `evaluate(DirectPosition p, Collection<String> list)` Returns a set of records of feature attribute values for the specified direct position.
`Surface` `getClipArea()` Returns the extent of the Thiessen polygon network.
`Set<ThiessenValuePolygon>` `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.
`Set<ThiessenValuePolygon>` `locate(DirectPosition p)` Returns the set of Thiessen values polygon 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<ThiessenValuePolygon> 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`

### getClipArea

    @UML(identifier="clipArea",
         obligation=MANDATORY,
         specification=ISO_19123)
    Surface getClipArea()

  Returns the extent of the Thiessen polygon network. Its boundary determines the boundaries of the outermost polygons in the network, which would otherwise be unbounded.

### 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 Thiessen value polygon. On the other hand, nearest neighbour interpolation will return for any direct position within a Thiessen polygon the record associated with the point-value pair at the centre of the Thiessen polygon. In other words, a Thiessen polygon 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<ThiessenValuePolygon> locate(DirectPosition p)

  Returns the set of Thiessen values polygon 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 Thiessen polygon coverage involves two steps. The first is to locate the Thiessen value polygon that contains the input direct position; the second is to interpolate the feature attribute values at the direct position from the point-value pairs at the centres of the surrounding Thiessen value polygons.

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

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