org.opengis.geometry.coordinate

## Interface GriddedSurface

• All Superinterfaces:
GenericSurface, ParametricCurveSurface, SurfacePatch
All Known Subinterfaces:
BicubicGrid, BilinearGrid, BSplineSurface, Cone, Cylinder, Sphere

```@UML(identifier="GM_GriddedSurface",
specification=ISO_19107)
public interface GriddedSurface
extends ParametricCurveSurface```
A parametric curve surface defined from a rectangular grid in the parameter space. The rows from this grid are control points for horizontal surface curves; the columns are control points for vertical surface curves. The working assumption is that for a pair of parametric coordinates (st), that the horizontal curves for each integer offset are calculated and evaluated at s. This defines a sequence of control points:
<cn(s) : s = 1 … columns>
From this sequence, a vertical curve is calculated for s, and evaluated at t. In most cases, the order of calculation (horizontal-vertical versus vertical-horizontal) does not make a difference. Where it does, the horizontal-vertical order shall be the one used.

The most common case of a gridded surface is a 2D spline. In this case the weight functions for each parameter make order of calculation unimportant:

TODO: copy equations there
Logically, any pair of curve interpolation types can lead to a subtype of `GriddedSurface`. The sub-interfaces provided in this package define some of the most commonly encountered surfaces that can be represented in this manner.
Since:
GeoAPI 2.0
Author:
Martin Desruisseaux (IRD)
• ### Method Summary

All Methods
Modifier and Type Method and Description
`int` `getColumns()`
Returns the number of columns in the parameter grid.
`PointGrid` `getControlPoints()`
Returns the doubly indexed sequence of control points, given in row major form.
`int` `getRows()`
Returns the number of rows in the parameter grid.
• ### Methods inherited from interface ParametricCurveSurface

`getHorizontalCurveType, getVerticalCurveType, horizontalCurve, surface, verticalCurve`
• ### Methods inherited from interface SurfacePatch

`getBoundary, getInterpolation, getNumDerivativesOnBoundary, getSurface`
• ### Methods inherited from interface GenericSurface

`getArea, getPerimeter, getUpNormal`
• ### Method Detail

• #### getControlPoints

```@UML(identifier="controlPoint",
obligation=MANDATORY,
specification=ISO_19107)
PointGrid getControlPoints()```
Returns the doubly indexed sequence of control points, given in row major form. There is no assumption made about the shape of the grid. For example, the positions need not effect a "2½D" surface, consecutive points may be equal in any or all of their ordinates. Further, the curves in either or both directions may close.
• #### getRows

```@UML(identifier="rows",
obligation=MANDATORY,
specification=ISO_19107)
int getRows()```
Returns the number of rows in the parameter grid.
• #### getColumns

```@UML(identifier="columns",
obligation=MANDATORY,
specification=ISO_19107)
int getColumns()```
Returns the number of columns in the parameter grid.