If ncp
is zero, linear
interpolation is used in the triangles bounded by data points.
Cubic interpolation is done if partial derivatives are used.
If extrap
is FALSE
, z-values for points outside the convex hull are
returned as NA
.
No extrapolation can be performed if ncp
is zero.
The interpp
function handles duplicate (x,y)
points in
different ways. As default it will stop with an error message. But it
can give duplicate points an unique z
value according to the
parameter duplicate
(mean
,median
or any other
user defined function).
The triangulation scheme used by interp
works well if x
and y
have
similar scales but will appear stretched if they have very different
scales. The spreads of x
and y
must be within four orders of magnitude
of each other for interpp
to work.
interpp.old(x, y, z, xo, yo, ncp = 0, extrap = FALSE,
duplicate = "error", dupfun = NULL)
interpp.new(x, y, z, xo, yo, extrap = FALSE,
duplicate = "error", dupfun = NULL)
vector of x-coordinates of data points or a
SpatialPointsDataFrame
object.
Missing values are not accepted.
vector of y-coordinates of data points. Missing values are not accepted.
If left as NULL indicates that x
should be a
SpatialPointsDataFrame
and z
names the variable of
interest in this dataframe.
vector of z-coordinates of data points or a character variable
naming the variable of interest in the
SpatialPointsDataFrame
x
.
Missing values are not accepted.
x
, y
, and z
must be the same length
(execpt if x
is a SpatialPointsDataFrame
) and may contain no fewer
than four points. The points of x
and y
cannot be collinear, i.e, they cannot fall on the same line (two vectors
x
and y
such that y = ax + b
for some a
, b
will not be
accepted).
vector of x-coordinates of points at which to evaluate the interpolating
function. If x
is a SpatialPointsDataFrame
this has
also to be a SpatialPointsDataFrame
.
vector of y-coordinates of points at which to evaluate the interpolating function.
If operating on SpatialPointsDataFrame
s this is left as NULL
deprecated, use parameter linear
. Now only used by
interpp.old()
.
meaning was:
number of additional points to be used in computing partial
derivatives at each data point.
ncp
must be either 0
(partial derivatives are not used, =
linear interpolation), or at
least 2 but smaller than the number of data points (and smaller than 25).
logical flag: should extrapolation be used outside of the convex hull determined by the data points?
indicates how to handle duplicate data points. Possible values are
"error"
- produces an error message, "strip"
- remove
duplicate z values, "mean"
,"median"
,"user"
-
calculate mean , median or user defined function of duplicate z
values.
this function is applied to duplicate points if duplicate="user"
list with 3 components:
vector of x-coordinates of output points, the same as the input
argument xo
.
vector of y-coordinates of output points, the same as the input
argument yo
.
fitted z-values. The value z[i]
is computed
at the x,y point x[i], y[i]
.
Use interp
if interpolation on a regular grid is wanted.
The two versions interpp.old
and interpp.new
are now
deprecated, use interpp
instead, see details there.
Earlier versions (pre 0.5-1) of interpp
used the parameter
ncp
to choose between linear and cubic interpolation, this is now done
by setting the logical parameter linear
. Use of ncp
is still
possible, but is deprecated.
Akima, H. (1978). A Method of Bivariate Interpolation and Smooth Surface Fitting for Irregularly Distributed Data Points. ACM Transactions on Mathematical Software, 4, 148-164.
Akima, H. (1996). Algorithm 761: scattered-data surface fitting that has the accuracy of a cubic polynomial. ACM Transactions on Mathematical Software, 22, 362-371.
contour
, image
,
approxfun
, splinefun
,
outer
, expand.grid
,
interp
, aspline
.