Learn R Programming

spatstat.linnet (version 3.2-2)

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.

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