spatstat.core (version 2.1-2)

reach: Interaction Distance of a Point Process


Computes the interaction distance of a point process.


reach(x, …)

# S3 method for ppm reach(x, …, epsilon=0)

# S3 method for interact reach(x, …)

# S3 method for rmhmodel reach(x, …)

# S3 method for fii reach(x, …, epsilon)



Either a fitted point process model (object of class "ppm"), an interpoint interaction (object of class "interact"), a fitted interpoint interaction (object of class "fii") or a point process model for simulation (object of class "rmhmodel").


Numerical threshold below which interaction is treated as zero. See details.

Other arguments are ignored.


The interaction distance, or NA if this cannot be computed from the information given.

Other types of models

Methods for reach are also defined for point process models of class "kppm" and "dppm". Their technical definition is different from this one. See reach.kppm and reach.dppm.


The `interaction distance' or `interaction range' of a point process model of class "ppm" is the smallest distance \(D\) such that any two points in the process which are separated by a distance greater than \(D\) do not interact with each other.

For example, the interaction range of a Strauss process (see Strauss) with parameters \(\beta,\gamma,r\) is equal to \(r\), unless \(\gamma=1\) in which case the model is Poisson and the interaction range is \(0\). The interaction range of a Poisson process is zero. The interaction range of the Ord threshold process (see OrdThresh) is infinite, since two points may interact at any distance apart.

The function reach(x) is generic, with methods for the case where x is

When x is an "interact" object, reach(x) returns the maximum possible interaction range for any point process model with interaction structure given by x. For example, reach(Strauss(0.2)) returns 0.2.

When x is a "ppm" object, reach(x) returns the interaction range for the point process model represented by x. For example, a fitted Strauss process model with parameters beta,gamma,r will return either 0 or r, depending on whether the fitted interaction parameter gamma is equal or not equal to 1.

For some point process models, such as the soft core process (see Softcore), the interaction distance is infinite, because the interaction terms are positive for all pairs of points. A practical solution is to compute the distance at which the interaction contribution from a pair of points falls below a threshold epsilon, on the scale of the log conditional intensity. This is done by setting the argument epsilon to a positive value.

See Also

ppm, Poisson, Strauss, StraussHard, MultiStrauss, MultiStraussHard, Softcore, DiggleGratton, Pairwise, PairPiece, Geyer, LennardJones, Saturated, OrdThresh, Ord, rmhmodel

See reach.kppm and reach.dppm for other types of point process models.


    # returns 0

    # returns 7
    fit <- ppm(swedishpines ~ 1, Strauss(r=7))
    # returns 7

    # returns Inf
    # returns 3
# }