rpoispp {spatstat}R Documentation

Generate Poisson Point Pattern

Description

Generate a random point pattern using the (homogeneous or inhomogeneous) Poisson process.

Usage

 rpoispp(lambda, max, win, ...)

Arguments

lambda Intensity of the Poisson process. Either a single positive number, or a function(x,y, ...).
max An upper bound for the value of lambda(x,y), if lambda is a function.
win Window in which to simulate the pattern. An object of class "owin" or something acceptable to as.owin.
... Arguments passed to lambda if it is a function.

Details

If lambda is a single number, then this algorithm generates a realisation of the uniform Poisson process inside the window win with intensity lambda (points per unit area).

If lambda is a function, then this algorithm generates a realisation of the inhomogeneous Poisson process with intensity function lambda(x,y,...) at spatial location (x,y). The function lambda must work correctly with vectors x and y. The value max must be given and must be an upper bound on the values of lambda(x,y,...) for all locations (x, y) inside the window win.

To generate an inhomogeneous Poisson process the algorithm uses ``rejection filtering'': it first generates a uniform Poisson process of intensity max, then thins it by randomly deleting or retaining each point independently, with retention probability p(x,y) = lambda(x,y)/max.

Value

The simulated point pattern (an object of class "ppp").

Author(s)

Adrian Baddeley adrian@maths.uwa.edu.au http://www.maths.uwa.edu.au/~adrian/ and Rolf Turner rolf@math.unb.ca http://www.math.unb.ca/~rolf

See Also

ppp.object, owin.object

Examples

 # uniform Poisson process with intensity 100 in the unit square
 pp <- rpoispp(100)
 
 # uniform Poisson process with intensity 1 in a 10 x 10 square
 pp <- rpoispp(1, win=owin(c(0,10),c(0,10)))
 # plots should look similar !
 
 # inhomogeneous Poisson process in unit square
 # with intensity lambda(x,y) = 100 * exp(-3*x)
 # Intensity is bounded by 100
 pp <- rpoispp(function(x,y) {100 * exp(-3*x)}, 100)

 # How to tune the coefficient of x
 lamb <- function(x,y,a) { 100 * exp( - a * x)}
 pp <- rpoispp(lamb, 100, a=3)


[Package Contents]