Constructs a spatial tessellation, composed of rings or buffers at specified distances away from the given spatial object.
bufftess(X, breaks, W = Window(X), ..., polygonal = TRUE)A tessellation (object of class "tess").
The result also has an attribute breaks which is the vector of distance breakpoints.
A spatial object in two dimensions,
such as a point pattern (class "ppp") or
line segment pattern (class "psp").
Either a numeric vector specifying the cut points for the distance values, or a single integer specifying the number of cut points.
Optional. Window (object of class "owin") inside which the
tessellation will be constructed.
Optional arguments passed to as.mask controlling the
pixel resolution when polygonal=FALSE,
and optional arguments passed to cut.default
controlling the labelling of the distance bands.
Logical value specifying whether the tessellation should consist of
polygonal tiles (polygonal=TRUE, the default) or
should be constructed using a pixel image (polygonal=FALSE).
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
This function divides space into tiles defined
by distance from the object X. The result is a tessellation
(object of class "tess") that consists of concentric rings
around X.
The distance values which determine the tiles are specified by
the argument breaks.
If breaks is a vector of numerical values, then these
values are taken to be the distances defining the tiles.
The first tile is the region of space that lies at distances
between breaks[1] and breaks[2] away from X;
the second tile is the region lying at distances between
breaks[2] and breaks[3] away from X; and so on.
The number of tiles will be length(breaks)-1.
If breaks is a single integer, it is interpreted as specifying
the number of intervals between breakpoints.
There will be breaks+1 equally spaced
break points, ranging from zero to the maximum
achievable distance. The number of tiles will equal breaks.
The tessellation can be computed using either raster calculations or vector calculations.
If polygonal=TRUE (the default), the tiles are computed as
polygonal windows using vector geometry, and the result is a
tessellation consisting of polygonal tiles.
This calculation could be slow and could require substantial memory,
but produces a geometrically accurate result.
If polygonal=FALSE, the distance map of X is computed
as a pixel image (distmap), then the distance values
are divided into discrete bands using cut.im. The result is a
tessellation specified by a pixel image. This computation is faster
but less accurate.
Polygonal calculations are performed using dilation
and setminus.owin. Pixel calculations are performed
using distmap and cut.im. See
as.mask for details of arguments that control pixel
resolution.
For other kinds of tessellations, see
tess,
hextess,
venn.tess,
polartess,
dirichlet, delaunay,
quantess, quadrats
and
rpoislinetess.
X <- cells[c(FALSE,FALSE,FALSE,TRUE)]
if(interactive()) {
b <- c(0, 0.05, 0.1, 0.15, 0.2, Inf)
n <- 5
} else {
## simpler data for testing
b <- c(0, 0.1, 0.2, Inf)
n <- 3
}
plot(bufftess(X, b), do.col=TRUE, col=1:n)
Run the code above in your browser using DataLab