Learn R Programming

spatstat.geom (version 3.3-5)

pairdist.pp3: Pairwise distances in Three Dimensions

Description

Computes the matrix of distances between all pairs of points in a three-dimensional point pattern.

Usage

# S3 method for pp3
pairdist(X, ..., periodic=FALSE, squared=FALSE)

Value

A square matrix whose [i,j] entry is the distance between the points numbered i and j.

Arguments

X

A point pattern (object of class "pp3").

...

Ignored.

periodic

Logical. Specifies whether to apply a periodic edge correction.

squared

Logical. If squared=TRUE, the squared distances are returned instead (this computation is faster).

Distance values

The values returned by pairdist(X) are distances, expressed as multiples of the unit of length of the spatial coordinates in X. The unit of length is given by unitname(X).

Note that, if the unit of length in X is a composite expression such as ‘2 microns’, then the values of pairdist(X) are expressed as multiples of 2 microns, rather than being expressed in microns.

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au based on two-dimensional code by Pavel Grabarnik pavel.grabar@issp.serpukhov.su.

Details

This is a method for the generic function pairdist.

Given a three-dimensional point pattern X (an object of class "pp3"), this function computes the Euclidean distances between all pairs of points in X, and returns the matrix of distances.

Alternatively if periodic=TRUE and the window containing X is a box, then the distances will be computed in the ‘periodic’ sense (also known as ‘torus’ distance): opposite faces of the box are regarded as equivalent. This is meaningless if the window is not a box.

If squared=TRUE then the squared Euclidean distances \(d^2\) are returned, instead of the Euclidean distances \(d\). The squared distances are faster to calculate, and are sufficient for many purposes (such as finding the nearest neighbour of a point).

See Also

pairdist, crossdist, nndist, K3est

Examples

Run this code
if(require(spatstat.random)) {
   X <- runifpoint3(20)
} else {
   X <- osteo$pts[[1]]
}
   d <- pairdist(X)
   d <- pairdist(X, periodic=TRUE)
   d <- pairdist(X, squared=TRUE)

Run the code above in your browser using DataLab