Learn R Programming

spatstat (version 1.60-1)

nnfun.lpp: Nearest Neighbour Map on Linear Network

Description

Compute the nearest neighbour function of a point pattern on a linear network.

Usage

# S3 method for lpp
nnfun(X, ..., k=1)

Arguments

X

A point pattern on a linear network (object of class "lpp").

k

Integer. The algorithm finds the kth nearest neighbour in X from any spatial location.

Other arguments are ignored.

Value

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.

Details

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.

See Also

linfun, methods.linfun.

To compute the distance to the nearest neighbour, see distfun.lpp.

Examples

Run this code
# NOT RUN {
   data(letterR)
   X <- runiflpp(3, simplenet)
   f <- nnfun(X)
   f
   plot(f)
# }

Run the code above in your browser using DataLab