| spsample {sp} | R Documentation | 
sample point locations within a square area, a grid, a polygon, or on a spatial line, using regular or random sampling methods
spsample(x, n, type, ...) sample.Spatial(x, n, type, bb = bbox(x), offset = runif(nrow(bb)), 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)), iter = 4, ...) sample.Polygons(x, n, type = "random", bb = bbox(x), offset = runif(2), proj4string=CRS(as.character(NA)), iter = 4, ...) sample.Sgrid(x, n, type = "random", bb = bbox(x), offset = runif(nrow(bb)), ...) makegrid(x, n = 10000, nsig = 2, cellsize, offset = rep(0.5, nrow(bb)))
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 does not result in
pretty grids  | 
iter | 
default = 4: number of times to try to place sample points in a polygon before giving up and returning NULL - this may occur when trying to hit a small and awkwardly shaped polygon in a large bounding box with a small number of points | 
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. 
Some methods may return NULL if no points could be successfully placed. 
makegrid makes a regular grid, deriving cell size from the number
of grid points requested (approximating the number of cells).
x 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. When numbers of points per polygon are small and type="random", the number searched for is inflated to ensure hits, and the points returned sampled among these.
Edzer J. Pebesma, e.pebesma@geo.uu.nl
Chapter 3 in B.D. Ripley, 1981. Spatial Statistics, Wiley
overlay-methods, point.in.polygon, sample
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)