Interface Parameterization


  • @Draft
    @UML(identifier="GM_Parameterization",
         specification=ISO_19107)
    public interface Parameterization
    A locally bi-continuous mapping from a domain coordinate system to a range coordinate system. The mapping is defined inside a geometry object (the extent of validity contained in the domain of the parameterization). This allows us to define a “smaller” geometry object interior this domain geometry object, and then use transform operation of the parameterization to move this smaller thing into the coordinate system defined by the range of the parameterization.
    For example, if we have a 3D CAD or AEC drawing in a Euclidean design space, and a 3D spline solid, then we can map designs in this drawing to geographically referenced geometry object by using the parameterization inherent in the spline as long as the objects are within the range of the splines parameter space.
    It is defined as an interface, and so instantiations of this concept can carry a variety of mappings, even if they are not defined within the ISO 19107 standard.
    Since:
    3.1
    TODO:
    This interface is defined in the ISO 19107 draft. But maybe we should consider retrofitting it in the GeoAPI org.opengis.referencing.operation.MathTransform interface instead. See GEO-203.
    • Method Detail

      • getExtentOfValidity

        @Draft
        @UML(identifier="extentOfValidity",
             obligation=MANDATORY,
             specification=ISO_19107)
        Geometry getExtentOfValidity()
        Returns the domain of the mapping being represented by this parameterization. The returned geometry object will be in the coordinate system domain of the parameterization.
        The parameterization may be considered as a geometry proxy for its “extentOfValidity” geometry object, since it creates an image of this geometry object in its range coordinate system. Splines do exactly this.
        Returns:
        the domain of the mapping being represented by this parameterization.
      • getDomain

        @Draft
        @UML(identifier="domain",
             obligation=MANDATORY,
             specification=ISO_19107)
        CoordinateSystem getDomain()
        The coordinate system which contains the values from which this parameterization maps. This shall be the same as the coordinate system of the extent of validity.
        In many cases where the parameterization is the constructive mechanism for a geometry object, such as a spline, the domain will be a simple Euclidean space of the topological dimension of this target object.
        Returns:
        This parameterization domain coordinate system.
      • getRange

        @Draft
        @UML(identifier="range",
             obligation=MANDATORY,
             specification=ISO_19107)
        CoordinateSystem getRange()
        Returns the coordinate system which contains the values to which this parameterization maps.
        In many cases where the parameterization is the constructive mechanism for a geometry object, such as a spline, the range will be “coordinateSystem” of the target spline. In this case, the parameterization shall also be a realization of geometry object, e.g. the object being constructed. The image in the range is thereby equivalent to a GeometryProxy geometry proxy, under the parameterization of the extent of validity.
        Returns:
        the coordinate system mapped by this parameterization.
      • transform

        @Draft
        @UML(identifier="transform(DirectPostion)",
             obligation=MANDATORY,
             specification=ISO_19107)
        DirectPosition transform​(DirectPosition point)
        Transforms a direct position from the domain coordinate system to the range coordinate system.
        Parameters:
        point - The position in the domain coordinate system.
        Returns:
        the given position in the range coordinate system, stored in a new object.
      • transform

        @Draft
        @UML(identifier="transform(Geometry)",
             obligation=MANDATORY,
             specification=ISO_19107)
        Geometry transform​(Geometry object)
        Transforms a geometry from the domain coordinate system to the range coordinate system.
        Parameters:
        object - The geometry in the domain coordinate system.
        Returns:
        the given geometry in the range coordinate system, stored in a new object.