Learn R Programming

spatstat.linnet (version 3.2-5)

distfun.lpp: Distance Map on Linear Network

Description

Compute the distance function of a point pattern on a linear network.

Usage

# S3 method for lpp
distfun(X, ..., k=1)

Value

A function with arguments x,y and optional arguments seg,tp. It also belongs to the class "linfun" which has methods for plot, print etc.

Arguments

X

A point pattern on a linear network (object of class "lpp").

k

An integer. The distance to the kth nearest point will be computed.

...

Extra arguments are ignored.

Distance values

The values returned by the distance function f <- distfun(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 f are expressed as multiples of 2 microns, rather than being expressed in microns.

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.

Details

On a linear network \(L\), the “geodesic distance function” of a set of points \(A\) in \(L\) is the mathematical function \(f\) such that, for any location \(s\) on \(L\), the function value f(s) is the shortest-path distance from \(s\) to \(A\).

The command distfun.lpp is a method for the generic command distfun for the class "lpp" of point patterns on a linear network.

If X is a point pattern on a linear network, f <- distfun(X) returns a function in the R language that represents the distance 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 the values of the distance function at these locations. More efficiently f can be called in the form v <- f(x, y, seg, tp) where seg and tp are the local coordinates on the network. It can also be called as v <- f(x) where x is a point pattern on the same linear network.

The function f obtained from f <- distfun(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.

See Also

linfun, methods.linfun.

To identify which point is the nearest neighbour, see nnfun.lpp.

Examples

Run this code
   X <- runiflpp(3, simplenet)
   f <- distfun(X)
   f
   plot(f)

   # using a distfun as a covariate in a point process model:
   Y <- runiflpp(4, simplenet)
   fit <- lppm(Y ~D, covariates=list(D=f))

   f(Y)

Run the code above in your browser using DataLab