
 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 pointvalue 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.
 Since:
 GeoAPI 2.1
 TODO:
 Provide a figure derived from figure 11 in ISO 19123.


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.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
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<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 interfaceContinuousCoverage
 Returns:
 the value used to evaluate the coverage, or
null
if not applicable.

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. Returns:
 the extent of th polygon network.

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 pointvalue 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 interfaceContinuousCoverage
 Returns:
 the interpolation method, or
null
if not applicable.

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 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 CannotEvaluateException
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 pointvalue pairs at the centres of the surrounding Thiessen value polygons. 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.

