Learn R Programming

spatstat (version 1.63-0)

rSwitzerlpp: Switzer-type Point Process on Linear Network

Description

Generate a realisation of the Switzer-type point process on a linear network.

Usage

rSwitzerlpp(L, lambdacut, rintens = rexp, …,
         cuts=c("points", "lines"))

Arguments

L

Linear network (object of class "linnet").

lambdacut

Intensity of Poisson process of breakpoints.

rintens

Optional. Random variable generator used to generate the random intensity in each component.

Additional arguments to rintens.

cuts

String (partially matched) specifying the type of random cuts to be generated.

Value

Point pattern on a linear network (object of class "lpp") with an attribute "breaks" containing the breakpoints (if cuts="points") or the random lines (if cuts="lines").

Details

This function generates simulated realisations of the Switzer-type point process on a network, as described in Baddeley et al (2017).

The linear network is first divided into pieces by a random mechanism:

  • if cuts="points", a Poisson process of breakpoints with intensity lambdacut is generated on the network, and these breakpoints separate the network into connected pieces.

  • if cuts="lines", a Poisson line process in the plane with intensity lambdacut is generated; these lines divide space into tiles; the network is divided into subsets associated with the tiles. Each subset may not be a connected sub-network.

In each piece of the network, a random intensity is generated using the random variable generator rintens (the default is a negative exponential random variable with rate 1). Given the intensity value, a Poisson process is generated with the specified intensity.

The intensity of the final process is determined by the mean of the values generated by rintens. If rintens=rexp (the default), then the parameter rate specifies the inverse of the intensity.

References

Baddeley, A., Nair, G., Rakshit, S. and McSwiggan, G. (2017) ‘Stationary’ point processes are uncommon on linear networks. STAT 6, 68--78.

See Also

rcelllpp

Examples

Run this code
# NOT RUN {
   plot(rSwitzerlpp(domain(spiders), 0.01, rate=100))

   plot(rSwitzerlpp(domain(spiders), 0.0005, rate=100, cuts="l"))
# }

Run the code above in your browser using DataLab