[R-sig-Geo] Spatstat package: help generating random point pattern with different window
Adrian Baddeley
Adrian.Baddeley at csiro.au
Wed Oct 21 11:10:58 CEST 2009
Volkan Kepoglu wrote:
> I loaded spatstat, maptools, rgdal packages.
> I want to generate random point pattern with different window derived
> from polygon shp file.
> but i can not pass new owin argument to rpoispp
>
> > spdf = readOGR(dsn="polygon.shp",layer= "polygon")
> > sp_owin = as(as(spdf,"SpatialPolygons"),"owin")
> > grpp = rpoispp(100000, win=sp_owin) # this does not work
The last line instructs spatstat to generate a Poisson process with an
**intensity** equal to 100000,
that is, a density of 100000 points ***PER UNIT AREA**.
Your polygonal window sp_owin has an area of 11857425 square units.
This means the expected number of points in the simulated pattern is
100000 * 11857425 = 1.185743e+12.
That is more than a trillion points.
For a Poisson process, the actual number of points generated is a
Poisson random variable with mean equal to 1.2 trillion:
v <- 100000 * 11857425
n <- rpois(1, v)
x <- runif(n)
The error message is coming from 'runif' which is refusing to generate
more than a trillion random numbers:
Error in runif(n) : invalid arguments
In addition: Warning message:
In runif(n) : NAs introduced by coercion
If you wanted to generate approximately 100000 points, set lambda =
100000/area.owin(sp_owin) in the call to rpoispp.
If you wanted to generate exactly 100000 points, use runifpoint(100000,
win=sp_owin).
Adrian Baddeley
More information about the R-sig-Geo
mailing list