rpoisppOnLines
Generate Poisson Point Pattern on Line Segments
Given a line segment pattern, generate a Poisson random point pattern on the line segments.
Usage
rpoisppOnLines(lambda, L, lmax = NULL, ...)
Arguments
- lambda
- Intensity of the Poisson process.
A single number, a
function(x,y)
, or a pixel image (object of class"im"
). - L
- Line segment pattern (object of class
"psp"
) on which the points should be generated. - lmax
- Maximum possible value of
lambda
if it is a function or a pixel image. - ...
- Additional arguments passed to
lambda
if it is a function.
Details
This command generates a Poisson point process on the one-dimensional
system of line segments in L
. The result is a point pattern
consisting of points lying on the line segments in L
.
The number of random points falling on any given line segment follows
a Poisson distribution. The patterns of points on different segments
are independent.
The intensity lambda
is the expected number of points
per unit length of line segment.
It may be constant, or it may depend on spatial location.
The argument lambda
may be a single number,
or a function(x,y)
, or a pixel image (object of class
"im"
). In the two latter cases, the rejection method is used.
The rejection method requires knowledge of lmax
,
the maximum possible value of lambda
. If lmax
is not
given, it will be computed approximately, by sampling many values of
lambda
.
Value
- A point pattern (object of class
"ppp"
) in the same window asL
.
See Also
Examples
L <- psp(runif(10), runif(10), runif(10), runif(10), window=owin())
plot(L, main="")
# uniform intensity
Y <- rpoisppOnLines(4, L)
plot(Y, add=TRUE, pch="+")
# intensity is a function
Y <- rpoisppOnLines(function(x,y){ 10 * x^2}, L, 10)
plot(L, main="")
plot(Y, add=TRUE, pch="+")
# intensity is an image
Z <- as.im(function(x,y){10 * sqrt(x+y)}, unit.square())
Y <- rpoisppOnLines(Z, L, 10)
plot(L, main="")
plot(Y, add=TRUE, pch="+")