spsample {sp}R Documentation

sample point locations within a spatial region

Description

sample point locations within a square area, a ring, or on a spatial line, using regular or random sampling

Usage

spsample(x, n, type, ...)
sample.Spatial(x, n, type, bb = bbox(x), offset = runif(2), cellsize, ...)
sample.Line(x, n, type, offset = runif(1), proj4string=CRS(as.character(NA)), ...)
sample.Polygon(x, n, type = "random", bb = bbox(x), offset = runif(2), proj4string=CRS(as.character(NA)), ...)
sample.Polygons(x, n, type = "random", bb = bbox(x), offset = runif(2), proj4string=CRS(as.character(NA)), ...)
sample.Sgrid(x, n, type = "random", bb = bbox(x), offset = runif(2), ...)
makegrid(x, n = 10000, nsig = 2, cellsize, offset = c(0.5,0.5), 
        type = "regular", ...)

Arguments

x Spatial object; spsample(x,...) is a generic method for the existing sample.Xxx fumctions
... optional arguments, passed to the appropriate sample.Xxx functions
n (approximate) sample size
type character; "random" for completely spatial random; "regular" for regular (systematically aligned) sampling; "stratified" for stratified random (one single random location in each "cell"); or "nonaligned" for nonaligned systematic sampling (nx random y coordinates, ny random x coordinates)
bb bounding box of the sampled domain; setting this to a smaller value leads to sub-region sampling
offset for regular sampling only: the offset (position) of the regular grid; the default for spsample methods is a random location in the unit cell $[0,1] times [0,1]$, leading to a different grid after each call; if this is set to c(0.5,0.5), the returned grid is not random (but, in Ripley's wording, "centric systematic")
cellsize if missing, a cell size is derived from the sample size n; otherwise, this cell size is used for all sampling methods except "random"
proj4string Object of class "CRS"; holding a valid proj4 string
nsig for "pretty" coordinates; spsample do not result in pretty grids

Value

an object of class SpatialPoints-class. The number of points is only guaranteed to equal n when sampling is done in a square box, i.e. (sample.Spatial). Otherwise, the obtained number of points will have expected value n.
When x is of a class deriving from Spatial-class for which no spsample-methods exists, sampling is done in the bounding box of the object, using spsample.Spatial. An overlay may be necessary to select afterwards.
Sampling type "nonaligned" is not implemented for line objects.

Note

If an Polygon-class object has zero area (i.e. is a line), samples on this line element are returned. If the area is very close to zero, the algorithm taken here (generating points in a square area, selecting those inside the polygon) may be very resource intensive

Author(s)

Edzer J. Pebesma, e.pebesma@geo.uu.nl

References

Chapter 3 in B.D. Ripley, 1981. Spatial Statistics, Wiley

See Also

overlay-methods, point.in.polygon, sample

Examples


data(meuse.riv)
meuse.sr = SpatialPolygons(list(Polygons(list(Polygon(meuse.riv)), "x")))

plot(meuse.sr)
points(spsample(meuse.sr, n = 1000, "regular"), pch = 3)

plot(meuse.sr)
points(spsample(meuse.sr, n = 1000, "random"), pch = 3)

plot(meuse.sr)
points(spsample(meuse.sr, n = 1000, "stratified"), pch = 3)

plot(meuse.sr)
points(spsample(meuse.sr, n = 1000, "nonaligned"), pch = 3)

plot(meuse.sr)
points(spsample(meuse.sr@polygons[[1]], n = 100, "stratified"), pch = 3, cex=.5)

data(meuse.grid)
gridded(meuse.grid) = ~x+y
image(meuse.grid)
points(spsample(meuse.grid,n=1000,type="random"), pch=3, cex=.5)
image(meuse.grid)
points(spsample(meuse.grid,n=1000,type="stratified"), pch=3, cex=.5)
image(meuse.grid)
points(spsample(meuse.grid,n=1000,type="regular"), pch=3, cex=.5)
image(meuse.grid)
points(spsample(meuse.grid,n=1000,type="nonaligned"), pch=3, cex=.5)

fullgrid(meuse.grid) = TRUE
image(meuse.grid)
points(spsample(meuse.grid,n=1000,type="stratified"), pch=3,cex=.5)


[Package sp version 0.7-12 Index]