For a collection \(X\) of two dimensional objects
(such as a point pattern or a line segment pattern),
the “nearest neighbour index function”
of \(X\) is the mathematical function \(f\) such that, for any
two-dimensional spatial location \((x,y)\),
the function value f(x,y)
is the index \(i\) identifying the closest member of \(X\).
That is, if \(i = f(x,y)\) then \(X[i]\) is the closest member of
the collection \(X\) to the location \((x,y)\).
The command f <- nnfun(X) returns a function
in the R language, with arguments x,y, that represents the
nearest neighbour index 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 indices of the nearest neighbours
to these locations.
If the argument k is specified then the k-th nearest
neighbour will be found.
The result of f <- nnfun(X) also belongs to the class
"funxy" and to the special class "nnfun".
It can be printed and plotted immediately as shown in the Examples.
A nnfun object can be converted to a pixel image
using as.im.