Distance Map as a Function
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 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
.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner r.turner@auckland.ac.nz and Ege Rubak rubak@math.aau.dk.
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.