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