Learn R Programming

spatstat (version 1.23-1)

nndist.psp: 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, \dots, k=1, method="Fortran")

Arguments

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

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 ith segment. If k is a single integer, then the return value is a numeric vector v such that v[i] is the kth nearest neighbour distance for the ith 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 ith segment.

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 kth 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="Fortran" (the default) then Fortran code is used. The Fortran code is somewhat faster.

See Also

nndist, nndist.ppp

Examples

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

Run the code above in your browser using DataLab