R: Nearest Neighbour Map on Linear Network

nnfun.lpp {spatstat} | R Documentation

## Nearest Neighbour Map on Linear Network

### Description

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

### Usage

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

### Arguments

`X` | A point pattern on a linear network (object of class `"lpp"`).
`k` | Integer. The algorithm finds the `k`th nearest neighbour in `X` from any spatial location.
`...` | Other 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 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`.

### 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.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

and Rolf Turner r.turner@auckland.ac.nz

### See Also

`linfun`, `methods.linfun`.

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

### Examples

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

[Package spatstat version 1.54-0 Index]