Interface ValueCurve

  • All Superinterfaces:
    ValueObject

    @UML(identifier="CV_ValueCurve",
         specification=ISO_19123)
    public interface ValueCurve
    extends ValueObject
    Basis for interpolating within a segmented curve coverage. A value curve is composed of a curve with additional information that supports the determination of feature attribute values at any position on that curve. Value curves depend upon the arc-length parameterization operations defined for Curve.
    Since:
    GeoAPI 2.1
    • Method Detail

      • getGeometry

        @UML(identifier="geometry",
             obligation=MANDATORY,
             specification=ISO_19123)
        DomainObject<Curve> getGeometry()
        Returns the cruve that is the basis of this value curve.
        Specified by:
        getGeometry in interface ValueObject
        Returns:
        the domain.
      • getControlValues

        @UML(identifier="controlValue",
             obligation=MANDATORY,
             specification=ISO_19123)
        Set<PointValuePair> getControlValues()
        Returns the set of point-value pairs that provide control values for the interpolation along the value curve.
        Specified by:
        getControlValues in interface ValueObject
        Returns:
        the control values.
      • segment

        @UML(identifier="segment",
             obligation=MANDATORY,
             specification=ISO_19123)
        Set<ValueSegment> segment​(DirectPosition p,
                                  double tolerance)
        Returns the set of value segments nearest to the specified direct position. This method shall invoke the GenericCurve.getParamForPoint(org.opengis.geometry.DirectPosition) method to obtain the distance parameter corresponding to the input direct position. The method getParamForPoint returns the parameter value for the position on the curve closest to the input direct position.

        This method will normally return a single value segment. There are three cases for which it could return multiple value segments:

        • The ValueCurve is not simple. The position on the curve that is closest to the input direct position is a point of self-intersection. The method getParamForPoint returns two or more parameter values. In this case, the method segment shall raise an exception.
        • There are two or more positions on the ValueCurve that are at the same minimal distance from the input direct position. The method getParamForPoint returns two or more parameter values. In this case, the method segment shall raise an exception.
        • The position on the ValueCurve that is closest to the input direct position is at the end of one ValueSegment and the start of the next. In this case, the method shall return both value segments.
        Parameters:
        p - The position where to search for segments.
        tolerance - The tolerance.
        Returns:
        the value segments nearest to the specified position.
        TODO:
        I'm not sure to understand how the exception clause is related to the first sentence in the two first points?