# nnfun.lpp

##### Nearest Neighbour Map on Linear Network

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

##### Usage

```
## S3 method for class 'lpp':
nnfun(X, ...)
```

##### Arguments

- X
- A point pattern on a linear network
(object of class
`"lpp"`

). - ...
- Extra arguments are ignored.

##### 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 Rlanguage, 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 the values of the distance function at these
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`

.

##### Value

- A
`function`

in the Rlanguage, with arguments`x,y`

and optional arguments`seg,tp`

. It also belongs to the class`"linfun"`

which has methods for`plot`

,`print`

etc.

##### See Also

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

.

##### Examples

```
data(letterR)
X <- runiflpp(3, simplenet)
f <- nnfun(X)
f
plot(f)
```

*Documentation reproduced from package spatstat, version 1.37-0, License: GPL (>= 2)*