R: Nearest neighbour distances between line segments

nndist.psp {spatstat.geom} | R Documentation

## Nearest neighbour distances between line segments

### Description

Computes the distance from each line segment to its nearest neighbour in a line segment pattern. Alternatively finds the distance to the second nearest, third nearest etc.

### Usage

      ## S3 method for class 'psp'
    nndist(X, ..., k=1, method="C")

### Arguments

`X` | A line segment pattern (object of class `"psp"`).
`...` | Ignored.
`k` | Integer, or integer vector. The algorithm will compute the distance to the `k`th nearest neighbour.
`method` | String specifying which method of calculation to use. Values are `"C"` and `"interpreted"`. Usually not specified.

### Details

This is a method for the generic function `nndist` for the class `"psp"`.

If `k=1`, this function computes the distance from each line segment to the nearest other line segment in `X`. In general it computes the distance from each line segment to the `k`th nearest other line segment. The argument `k` can also be a vector, and this computation will be performed for each value of `k`.

Distances are calculated using the Hausdorff metric. The Hausdorff distance between two line segments is the maximum distance from any point on one of the segments to the nearest point on the other segment.

If there are fewer than `max(k)+1` line segments in the pattern, some of the nearest neighbour distances will be infinite (`Inf`).

The argument `method` is not normally used. It is retained only for checking the validity of the software. If `method = "interpreted"` then the distances are computed using interpreted R code only. If `method="C"` (the default) then compiled `C` code is used. The `C` code is somewhat faster.

### Value

Numeric vector or matrix containing the nearest neighbour distances for each line segment.

If `k = 1` (the default), the return value is a numeric vector `v` such that `v[i]` is the nearest neighbour distance for the `i`th segment.

If `k` is a single integer, then the return value is a numeric vector `v` such that `v[i]` is the `k`th nearest neighbour distance for the `i`th segment.

If `k` is a vector, then the return value is a matrix `m` such that `m[i,j]` is the `k[j]`th nearest neighbour distance for the `i`th segment.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

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

### See Also

`nndist`, `nndist.ppp`

### Examples

       L <- psp(runif(10), runif(10), runif(10), runif(10), owin())
       D <- nndist(L)
       D <- nndist(L, k=1:3)

[Package spatstat.geom version 2.3-2 Index]