# nnwhich.lpp

##### Identify Nearest Neighbours on a Linear Network

Given a pattern of points on a linear network, identify the nearest neighbour for each point, measured by the shortest path in the network.

- Keywords
- spatial

##### Usage

```
# S3 method for lpp
nnwhich(X, ..., k=1, method="C")
```

##### Arguments

- X
Point pattern on linear network (object of class

`"lpp"`

).- method
Optional string determining the method of calculation. Either

`"interpreted"`

or`"C"`

.- k
Integer, or integer vector. The algorithm will find the

`k`

th nearest neighbour.- …
Ignored.

##### Details

Given a pattern of points on a linear network, this function finds the nearest neighbour of each point (i.e. for each point it identifies the nearest other point) measuring distance by the shortest path in the network.

If `method="C"`

the task is performed using
code in the C language. If `method="interpreted"`

then the
computation is performed using interpreted R code. The R code is
much slower, but is provided for checking purposes.

The result is `NA`

if the `k`

th nearest neighbour
does not exist. This can occur
if there are fewer than `k+1`

points in the dataset, or if
the linear network is not connected.

##### Value

An integer vector, of length equal to the number of points in
`X`

, identifying the nearest neighbour of each point.
If `nnwhich(X)[2] = 4`

then the nearest neighbour of
point 2 is point 4.

Alternatively a matrix with one row for each point in `X`

and one column for each entry of `k`

.

##### See Also

##### Examples

```
# NOT RUN {
X <- runiflpp(10, simplenet)
nnwhich(X)
nnwhich(X, k=2)
# }
```

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