# distfun.lpp

##### Distance Map on Linear Network

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

##### Usage

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

##### Arguments

- X
A point pattern on a linear network (object of class

`"lpp"`

).- k
An integer. The distance to the

`k`

th nearest point will be computed.- …
Extra arguments are ignored.

##### 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`

.

##### 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.

##### See Also

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

.

##### Examples

```
# NOT RUN {
data(letterR)
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)
# }
```

*Documentation reproduced from package spatstat, version 1.56-1, License: GPL (>= 2)*