## org.opengis.coverage
Interface DiscreteGridPointCoverage

All Superinterfaces:
  Coverage, DiscreteCoverage

    @UML(identifier="CV_DiscreteGridPointCoverage",
         specification=ISO_19123)
    public interface DiscreteGridPointCoverage

extends DiscreteCoverage

A discrete coverage with a domain defined as a set of grid points that are associated with records of feature attribute values through a grid values matrix.

`DiscreteGridPointCoverage` inherits the elements and the operations locate, find, and list, from `DiscreteCoverage`, with the restriction that the associated geometry-value pairs and those returned by the operations shall be limited to (grid point)-value pairs. The elements may be generated from the grid values matrix through the value assignment. The inherited operations evaluate and evaluateInverse use grid values matrix to assign values to the geometry value pairs.

TODO:
  Should we restrict `DomainObject` to `GridPoint` as well? It sound like a logical consequence of `GridPointValuePair` restriction., Should we move this interface to org.opengis.coverage.grid as all the other grid interfaces, or should it remain in org.opengis.coverage to follow the ordering in ISO19123.

Method Summary
`Set<GridPoint>` `evaluateInverse(Object v)` Returns a set of grid points for the specified record of feature attribute values.
`List<GridPointValuePair>` `find(DirectPosition p, int limit)` Returns the sequence of point-value pairs that include the domain objects nearest to the direct position and their distances from the direction position.
`Set<GridPointValuePair>` `getElements()` Returns the set of point-value pairs included in this coverage.
`GridValuesMatrix` `getValueAssignment()` Links this discrete grid point coverage to the grid values matrix for which it is an evaluator.
`Set<GridPointValuePair>` `list()` Returns the dictionary of point-value pairs that contain the objects in the domain of the coverage each paired with its record of feature attribute values.
`Set<GridPointValuePair>` `locate(DirectPosition p)` Returns the set of point-value pairs that include the domain objects containing the specified direct position.
`GridPointValuePair` `point(GridCoordinates g)` Uses data from the associated grid values matrix to construct and return the grid point value pair associated with the specified grid position.
`Set<GridPointValuePair>` `select(Geometry s)` Returns the set of point-value pairs that contain domain objects that lie within the specified geometry and period.

Methods inherited from interface DiscreteCoverage
`evaluate`

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

Method Detail

### getElements

    @UML(identifier="element",
         obligation=OPTIONAL,
         specification=ISO_19123)
    Set<GridPointValuePair> getElements()

  Returns the set of point-value pairs included in this coverage.

  Specified by:
    `getElements` in interface `DiscreteCoverage`

### getValueAssignment

    @UML(identifier="valueAssignment",
         obligation=MANDATORY,
         specification=ISO_19123)
    GridValuesMatrix getValueAssignment()

  Links this discrete grid point coverage to the grid values matrix for which it is an evaluator.

### locate

    @UML(identifier="locate",
         obligation=OPTIONAL,
         specification=ISO_19123)
    Set<GridPointValuePair> locate(DirectPosition p)

  Returns the set of point-value pairs that include the domain objects containing the specified direct position.

  Specified by:
    `locate` in interface `DiscreteCoverage`

### list

    @UML(identifier="list",
         obligation=MANDATORY,
         specification=ISO_19123)
    Set<GridPointValuePair> list()

  Returns the dictionary of point-value pairs that contain the objects in the domain of the coverage each paired with its record of feature attribute values.

  Specified by:
    `list` in interface `Coverage`

### select

    @UML(identifier="select",
         obligation=MANDATORY,
         specification=ISO_19123)
    Set<GridPointValuePair> select(Geometry s)

  Returns the set of point-value pairs that contain domain objects that lie within the specified geometry and period. If `s` is null, the operation shall return all point-value pairs that contain domain objects within `t`. If the value of `t` is null, the operation shall return all point-value pair that contain domain objects within `s`.

  TODO:
    Missing the TM_Period argument

### find

    @UML(identifier="find",
         obligation=MANDATORY,
         specification=ISO_19123)
    List<GridPointValuePair> find(DirectPosition p,
                                                                                         int limit)

  Returns the sequence of point-value pairs that include the domain objects nearest to the direct position and their distances from the direction position. The sequence shall be ordered by distance from the direct position, beginning with the record containing the domain object nearest to the direct position. The length of the sequence (the number of point-value pairs returned) shall be no greater than the number specified by the parameter `limit`. The default shall be to return a single point-value pair. The operation shall return a warning if the last domain object in the sequence is at a distance from the direct position equal to the distance of other domain objects that are not included in the sequence.

  Specified by:
    `find` in interface `Coverage`

### point

    @UML(identifier="point",
         obligation=MANDATORY,
         specification=ISO_19123)
    GridPointValuePair point(GridCoordinates g)

  Uses data from the associated grid values matrix to construct and return the grid point value pair associated with the specified grid position.

### evaluateInverse

    @UML(identifier="evaluateInverse",
         obligation=MANDATORY,
         specification=ISO_19123)
    Set<GridPoint> evaluateInverse(Object v)

  Returns a set of grid points for the specified record of feature attribute values. Normally, this method returns the set of points in the domain that are associated with values equal to those in the input record. However, the operation may return other points derived from those in the domain, as specified by the application schema.

  Specified by:
    `evaluateInverse` in interface `DiscreteCoverage`
  TODO:
    Missing the Record argument.

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