Compute the nearest neighbour function of a point pattern on a linear network.
# S3 method for lpp
nnfun(X, ..., k=1)A point pattern on a linear network
(object of class "lpp").
Integer. The algorithm finds the kth nearest neighbour in
X from any spatial location.
Other arguments are ignored.
A function in the R language, with arguments x,y and optional
arguments seg,tp.
It also belongs to the class "linfun" which has methods
for plot, print etc.
The (geodesic) nearest neighbour function of a
point pattern X on a linear network L
tells us which point of X is closest to
any given location.
If X is a point pattern on a linear network L,
the nearest neighbour function of X
is the mathematical function \(f\) defined for any
location \(s\) on the network by f(s) = i, where
X[i] is the closest point of X to the location s
measured by the shortest path. In other words the value of f(s)
is the identifier or serial number of the closest point of X.
The command nnfun.lpp is a method for the generic command
nnfun
for the class "lpp" of point patterns on a linear network.
If X is a point pattern on a linear network,
f <- nnfun(X) returns a function
in the R language, with arguments x,y, …, that represents the
nearest neighbour 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 a vector of identifiers or serial numbers of
the data points closest to these spatial locations.
More efficiently f can take the arguments
x, y, seg, tp where seg and tp are the local
coordinates on the network.
The result of f <- nnfun(X) also belongs to the class
"linfun".
It can be printed and plotted immediately as shown in the Examples.
It can be converted to a pixel image
using as.linim.
To compute the distance to the nearest neighbour, see
distfun.lpp.
# NOT RUN {
data(letterR)
X <- runiflpp(3, simplenet)
f <- nnfun(X)
f
plot(f)
# }
Run the code above in your browser using DataLab