Draws a Halton Iterative Partition (HIP) sample from a
SpatialPoints*
object.
hip.polygon(x, n, bases = c(2, 3), J = c(8, 5))
A SpatialPoints
or SpatialPointsDataFrame
object.
This object must contain at least 1 point. x
is the 2-dimensional point resource
from which samples are taken.
Target sample size. Target number of locations to draw from the set of points
contained in x
. If the sample size returned is less than the desired sample size,
increase n
until the desired sample size is reached.
2X1 vector of Halton bases. These must be co-prime.
A 2X1 vector of base powers. J[1]
is for horizontal,
J[2]
for vertical dimension. J
determines the size and shape
of the smallest Halton boxes. There are bases[1]^J[1]
vertical columns
of Halton boxes over x
's bounding box, and bases[2]^J[2]
horizontal rows of Halton boxes over the bounding box, for a total
of prod(bases^J)
boxes. The dimension of each box is
c(dx,dy)/
(bases^J)
, where c(dx,dy)
are the horizontal and
vertical extents of x
's bounding box. If J=NULL
(the default),
J
is chosen so that Halton boxes are as square as possible.
A SpatialPoints*
object containing locations in the HIP sample.
Additional attributes of the output object, beyond those which
make it a SpatialPoints*
, are:
frame
: Name of the input sampling frame.
frame.type
: Type of resource in sampling frame. (i.e., "polygon").
sample.type
: Type of sample drawn. (i.e., "HIP").
J
: Exponents of the bases used to form the lattice of
Halton boxes. This is either the input J
, or the J
vector
computed by halton.indices
.
bases
: Bases of the Halton sequence used to draw the sample.
hl.bbox
: The bounding box around points in x
used to
draw the sample. See halton.indices
.
A brief description of Halton Iterative Partition (HIP) sampling for polygons:
Given a set of Halton Iterative Partition parameters x
(SpatialPoints* object), n
(sample size),
bases
, and J
,
a lattice of Halton boxes is constructed iteratively over the bounding box of the input points.
This results in prod(bases^J)
Halton boxes on the bounding box to cover all points in the point resource. The
target should be one point per box, or prod(bases^J) == n
.
The Halton index of all boxes is computed and assigned to points that lie
in each box. Finally, a random number between 0 and the largest Halton index is
drawn, and the next n
coordinates in the mapped real numbers are taken as
the sample.
# NOT RUN {
# Draw sample of cities in the state of Washington
data(WA)
samp <- hip.polygon( WA, 100, J = c(3,2))
# }
Run the code above in your browser using DataLab