distfun | R Documentation |
Compute the distance function of an object, and return it as a function.
distfun(X, ...)
## S3 method for class 'ppp'
distfun(X, ..., k=1, undef=Inf)
## S3 method for class 'psp'
distfun(X, ...)
## S3 method for class 'owin'
distfun(X, ..., invert=FALSE)
X |
Any suitable dataset representing a two-dimensional
object, such as a point pattern (object of class |
... |
Extra arguments are ignored. |
k |
An integer. The distance to the |
undef |
The value that should be returned if the distance is undefined
(that is, if |
invert |
If |
The “distance function” of a set of points A
is the
mathematical function f
such that, for any
two-dimensional spatial location (x,y)
,
the function value f(x,y)
is the shortest distance from (x,y)
to A
.
The command f <- distfun(X)
returns a function
in the R language, with arguments x,y
, that represents the
distance function of X
. Evaluating the function f
in the form v <- f(x,y)
, where x
and y
are any numeric vectors of equal length containing coordinates of
spatial locations, yields the values of the distance function at these
locations. Alternatively x
can be a
point pattern (object of class "ppp"
or "lpp"
) of
locations at which the distance function should be computed (and then
y
should be missing).
This should be contrasted with the related command distmap
which computes the distance function of X
on a grid of locations, and returns the distance
values in the form of a pixel image.
The distance values returned by f <- distfun(X); d <- f(x)
are computed using coordinate geometry; they are more accurate,
but slower to compute, than the distance values returned by
Z <- distmap(X); d <- Z[x]
which are computed using a fast recursive algorithm.
The result of f <- distfun(X)
also belongs to the class
"funxy"
and to the special class "distfun"
.
It can be printed and plotted immediately as shown in the Examples.
A distfun
object can be converted to a pixel image
using as.im
.
A function
with arguments x,y
.
The function belongs to the class "distfun"
which has
methods for print
and summary
, and for geometric
operations like shift
.
It also belongs to the class "funxy"
which has methods
for plot
, contour
and persp
.
.
distmap
,
summary.distfun
,
methods.distfun
,
methods.funxy
,
plot.funxy
f <- distfun(letterR)
f
plot(f)
f(0.2, 0.3)
plot(distfun(letterR, invert=TRUE), eps=0.1)
d <- distfun(cells)
d2 <- distfun(cells, k=2)
d(0.5, 0.5)
d2(0.5, 0.5)
domain(d)
summary(d)
z <- d(japanesepines)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.