Interface TinCoverage

  • All Superinterfaces:
    ContinuousCoverage, Coverage

    @UML(identifier="CV_TINCoverage",
         specification=ISO_19123)
    public interface TinCoverage
    extends ContinuousCoverage
    A continuous coverage characterized by a TIN. The feature attribute values are computed by interpolation within each triangle in the tessellation using the record of feature attribute values provided at each corner; that is, the feature attribute values are produced by an operation on ValueTriangles.

    The basic idea of a TIN is to partition the convex hull of the points in the domain of a discrete point coverage into a computationally unique set of non-overlapping triangles. Each triangle is formed by three of the points in the domain of the discrete point coverage. The Delaunay triangulation method is commonly used to produce TIN tessellations with triangles that are optimally equiangular in shape, and are generated in such a manner that the circumscribing circle containing each triangle contains no point of the discrete point coverage other than those at the vertices of the triangle. Tin describes a Delaunay triangulation.

    Since:
    GeoAPI 2.1
    TODO:
    Add a figure derived from figure 22 in ISO 19123.
    • Method Detail

      • getGeometry

        @UML(identifier="geometry",
             obligation=MANDATORY,
             specification=ISO_19123)
        Tin getGeometry()
        Returns the triangulated irregular network that provides the structure for evaluating the coverage. Tin includes a capability for using stop lines and break lines in the triangulation.
        Returns:
        the network that provides the structure for evaluating the coverage.
      • 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 method is "barycentric"
        Specified by:
        getInterpolationMethod in interface ContinuousCoverage
        Returns:
        the interpolation method, or null if not applicable.
      • getElements

        @UML(identifier="element",
             obligation=OPTIONAL,
             specification=ISO_19123)
        Set<ValueTriangle> 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
        Returns:
        the value used to evaluate the coverage, or null if not applicable.
      • locate

        @UML(identifier="locate",
             obligation=OPTIONAL,
             specification=ISO_19123)
        Set<ValueTriangle> locate​(DirectPosition p)
        Returns the set of value triangles that contains the specified direct position.
        Specified by:
        locate in interface ContinuousCoverage
        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 TIN coverage involves two steps. The first is to find the value triangle 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 vertices of the value triangle.
        Specified by:
        evaluate in interface ContinuousCoverage
        Specified by:
        evaluate in interface Coverage
        Parameters:
        p - The position where to evaluate.
        list - The field of interest, or null 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.