Generate N Uniform Random Points

Generate a random point pattern containing $n$ independent uniform random points.

spatial, datagen
runifpoint(n, win=owin(c(0,1),c(0,1)), giveup=1000, warn=TRUE, ..., nsim=1, drop=TRUE, ex=NULL)
Number of points.
Window in which to simulate the pattern. An object of class "owin" or something acceptable to as.owin.
Number of attempts in the rejection method after which the algorithm should stop trying to generate new points.
Logical. Whether to issue a warning if n is very large. See Details.
Number of simulated realisations to be generated.
Logical. If nsim=1 and drop=TRUE (the default), the result will be a point pattern, rather than a list containing a point pattern.
Optional. A point pattern to use as the example. If ex is given and n and win are missing, then n and win will be calculated from the point pattern ex.

This function generates n independent random points, uniformly distributed in the window win. (For nonuniform distributions, see rpoint.)

The algorithm depends on the type of window, as follows:

  • If win is a rectangle then $n$ independent random points, uniformly distributed in the rectangle, are generated by assigning uniform random values to their cartesian coordinates.
  • If win is a binary image mask, then a random sequence of pixels is selected (using sample) with equal probabilities. Then for each pixel in the sequence we generate a uniformly distributed random point in that pixel.
  • If win is a polygonal window, the algorithm uses the rejection method. It finds a rectangle enclosing the window, generates points in this rectangle, and tests whether they fall in the desired window. It gives up when giveup * n tests have been performed without yielding n successes.

The algorithm for binary image masks is faster than the rejection method but involves discretisation.

If warn=TRUE, then a warning will be issued if n is very large. The threshold is spatstat.options("huge.npoints"). This warning has no consequences, but it helps to trap a number of common errors.


A point pattern (an object of class "ppp") if nsim=1, or a list of point patterns if nsim > 1.

See Also

ppp.object, owin.object, rpoispp, rpoint

  • runifpoint
 # 100 random points in the unit square
 pp <- runifpoint(100)
 # irregular window
 # polygonal
 pp <- runifpoint(100, letterR)
 # binary image mask
 pp <- runifpoint(100, as.mask(letterR))
 # randomising an existing point pattern
 runifpoint(npoints(cells), win=Window(cells))
Documentation reproduced from package spatstat, version 1.48-0, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.