WMS:Inverse Distance Weighted Interpolation

From XMS Wiki
Jump to: navigation, search
2D IDW Interpolation Options dialog

One of the most commonly used techniques for interpolation of scatter points is inverse distance weighted (IDW) interpolation. Inverse distance weighted methods are based on the assumption that the interpolating surface should be influenced most by the nearby points and less by the more distant points. The interpolating surface is a weighted average of the scatter points and the weight assigned to each scatter point diminishes as the distance from the interpolation point to the scatter point increases. Several options are available for inverse distance weighted interpolation. The options are selected using the Inverse Distance Weighted Interpolation Options dialog. This dialog is accessed through the Options button next to the Inverse distance weighted item in the 2D Interpolation Options (3D Interpolation Options) dialog. The options in the dialog are as follows:

Shepards Method

The simplest form of inverse distance weighted interpolation is sometimes called "Shepard's method" (Shepard 1968). The equation used is as follows:

F(x,y) = \sum_{i-1}^n w_i f_i

where n is the number of scatter points in the set, fi are the prescribed function values at the scatter points (e.g. the dataset values), and wi are the weight functions assigned to each scatter point. The classical form of the weight function is:

w_i = \frac {h_i^{-p}}{\displaystyle \sum_{j-1}^n h_j^{-p}}

where p is an arbitrary positive real number called the power parameter (typically, p=2) and hi is the distance from the scatter point to the interpolation point or

h_i = \sqrt {(x - x_i)^2 + (y - y_i)^2}

where (x,y) are the coordinates of the interpolation point and '(xi,yi) are the coordinates of each scatter point. The weight function varies from a value of unity at the scatter point to a value approaching zero as the distance from the scatter point increases. The weight functions are normalized so that the weights sum to unity.

Although the weight function shown above is the classical form of the weight function in inverse distance weighted interpolation, the following equation is used in WMS:

w_i = \frac {\left [ \frac{R - h_i}{Rh_i} \right ]^{-2}}{\displaystyle \sum_{j-i}^n \left [ \frac {R - h_j}{Rh_j} \right ]^{-2}}

where hi is the distance from the interpolation point to scatter point i, R is the distance from the interpolation point to the most distant scatter point, and n is the total number of scatter points. This equation has been found to give superior results to the classical equation (Franke & Nielson, 1980).

The weight function is a function of Euclidean distance and is radially symmetric about each scatter point. As a result, the interpolating surface is somewhat symmetric about each point and tends toward the mean value of the scatter points between the scatter points. Shepard's method has been used extensively because of its simplicity.

3D Interpolation The 3D equations for Shepard's method are identical to the 2D equations except that the distances are computed using:

h_i = \sqrt {(x - x_i)^2 + (y - y_i)^2 + (z - z_i)^2}

where (x,y,z) are the coordinates of the interpolation point and (xi,yi,zi) are the coordinates of each scatter point.

Gradient Plane Nodal Functions

A limitation of Shepard's method is that the interpolating surface is a simple weighted average of the data values of the scatter points and is constrained to lie between the extreme values in the dataset. In other words, the surface does not infer local maxima or minima implicit in the dataset. This problem can be overcome by generalizing the basic form of the equation for Shepard's method in the following manner:

F(x,y) \sum_{i-1}^n w_i Q_i (x,y,)

where Qi are nodal functions or individual functions defined at each scatter point (Franke 1982; Watson & Philip 1985). The value of an interpolation point is calculated as the weighted average of the values of the nodal functions at that point. The standard form of Shepard's method can be thought of as a special case where horizontal planes (constants) are used for the nodal functions. The nodal functions can be sloping planes that pass through the scatter point. The equation for the plane is as follows:

Q_i(x,y) = f_x(x - x_i) + f_y(y - y_i) + f_i^{}

where fx and fy are partial derivatives at the scatter point that have been previously estimated based on the geometry of the surrounding scatter points. Gradients are estimated in WMS by first triangulating the scatter points and computing the gradient at each scatter point as the average of the gradients of each of the triangles attached to the scatter point.

The planes represented by the above equation are sometimes called "gradient planes". By averaging planes rather than constant values at each scatter point, the resulting surface infers extremities and is asymptotic to the gradient plane at the scatter point rather than forming a flat plateau at the scatter point.

3D Interpolation

The 3D equivalent of a gradient plane is a "gradient hyperplane." The equation of a gradient hyperplane is as follows:

Q_i (x,y,z) = f_x (x - x_i) + f_y (y - y_i) + f_z (z - z_i) + f_i^{}


where fx, fy, and fz are partial derivatives at the scatter point that are estimated based on the geometry of the surrounding scatter points. The gradients are found using a regression analysis which constrains the hyperplane to the scatter point and approximates the nearby scatter points in a least squares sense. At least five non-coplanar scatter points must be used.

Quadratic Nodal Functions

The nodal functions used in inverse distance weighted interpolation can be higher degree polynomial functions constrained to pass through the scatter point and approximate the nearby points in a least squares manner. Quadratic polynomials have been found to work well in many cases (Franke & Nielson 1980; Franke 1982). The resulting surface reproduces local variations implicit in the dataset, is smooth, and approximates the quadratic nodal functions near the scatter points. The equation used for the quadratic nodal function centered at point k is as follows:

Q_k (x,y) = a_{k1} + a_{k2}(x - x_k) + a_{k3}(y-y_k) + a_{k4}(x - x_k)^2 + a_{k5}(x - x_k)(y-y_k) + a_{k6}(y-y_k^{})^2

To define the function, the six coefficients ak1..ak6 must be found. Since the function is centered at the point k and passes through point k, we know beforehand that ak1=fk where fk is the function value at point k. The equation simplifies to:

Q_k (x,y) = f_k + a_{k2}(x - x_k) + a_{k3}(y-y_k) + a_{k4}(x - x_k)^2 + a_{k5}(x - x_k)(y-y_k) + a_{k6}(y-y_k^{})^2

Now there are only five unknown coefficients. The coefficients are found by fitting the quadratic to the nearest NQ scatter points using a weighted least squares approach. In order for the matrix equation used to solve for the coefficients to be stable, there should be at least five scatter points in the set.

3D Interpolation

For 3D interpolation, the equation for the quadratic nodal function is:

Q_k (x,y,z) = a_{k1} + a_{k2}(x -x_k) + a_{k3}(y -y_k) + a_{k4}(z - z_k^{})
 + a_{k5}(x - x_k)(y - y_k) + a_{k6}(x - x_k)(z - z_k) + a_{k7}(y -y_k)(z -z_k^{})
 + a_{k8}(x -x_k)^2 + a_{k9}(y-y_k)^2 + a_{k10}(z-z_k^{})^2

To define the function, the ten coefficients ak1..ak10 must be found. Since the function is centered on point k, we know that ak1=fk where fk is the data value at point k. The equation simplifies to:


Q_k (x,y,z) = f_x + a_{k2}(x -x_k) + a_{k3}(y-y_k) + a_{k4}(z-z_k^{})
 + a_{k5}(x - x_k)(y - y_k) + a_{k6}(x - x_k)(z - z_k) + a_{k7}(y -y_k)(z -z_k^{})
 + a_{k8}(x -x_k)^2 + a_{k9}(y-y_k)^2 + a_{k10}(z-z_k^{})^2

Now there are only nine unknown coefficients. The coefficients are found by fitting the quadratic to a subset of the neighboring scatter points in a weighted least squares fashion. In order for the matrix equation used to be solve for the coefficients to be stable, there should be at least ten non-coplanar scatter point in the set.

Related Topics