Learn R Programming

spatstat (version 1.56-1)

tess: Create a Tessellation

Description

Creates an object of class "tess" representing a tessellation of a spatial region.

Usage

tess(..., xgrid = NULL, ygrid = NULL, tiles = NULL, image = NULL,
            window=NULL, marks=NULL, keepempty=FALSE, unitname=NULL, check=TRUE)

Arguments

Ignored.

xgrid,ygrid

Cartesian coordinates of vertical and horizontal lines determining a grid of rectangles. Incompatible with other arguments.

tiles

List of tiles in the tessellation. A list, each of whose elements is a window (object of class "owin"). Incompatible with other arguments.

image

Pixel image which specifies the tessellation. Incompatible with other arguments.

window

Optional. The spatial region which is tessellated (i.e. the union of all the tiles). An object of class "owin".

marks

Optional vector or data frame of marks associated with the tiles.

keepempty

Logical flag indicating whether empty tiles should be retained or deleted.

unitname

Optional. Name of unit of length. Either a single character string, or a vector of two character strings giving the singular and plural forms, respectively. If this argument is missing or NULL, information about the unitname will be extracted from the other arguments. If this argument is given, it overrides any other information about the unitname.

check

Logical value indicating whether to check the validity of the input data. It is strongly recommended to use the default value check=TRUE.

Value

An object of class "tess" representing the tessellation.

Details

A tessellation is a collection of disjoint spatial regions (called tiles) that fit together to form a larger spatial region. This command creates an object of class "tess" that represents a tessellation.

Three types of tessellation are supported:

rectangular:

tiles are rectangles, with sides parallel to the x and y axes. They may or may not have equal size and shape. The arguments xgrid and ygrid determine the positions of the vertical and horizontal grid lines, respectively. (See quadrats for another way to do this.)

tile list:

tiles are arbitrary spatial regions. The argument tiles is a list of these tiles, which are objects of class "owin".

pixel image:

Tiles are subsets of a fine grid of pixels. The argument image is a pixel image (object of class "im") with factor values. Each level of the factor represents a different tile of the tessellation. The pixels that have a particular value of the factor constitute a tile.

The optional argument window specifies the spatial region formed by the union of all the tiles. In other words it specifies the spatial region that is divided into tiles by the tessellation. If this argument is missing or NULL, it will be determined by computing the set union of all the tiles. This is a time-consuming computation. For efficiency it is advisable to specify the window. Note that the validity of the window will not be checked.

Empty tiles may occur, either because one of the entries in the list tiles is an empty window, or because one of the levels of the factor-valued pixel image image does not occur in the pixel data. When keepempty=TRUE, empty tiles are permitted. When keepempty=FALSE (the default), tiles are not allowed to be empty, and any empty tiles will be removed from the tessellation.

There are methods for print, plot, [ and [<- for tessellations. Use tiles to extract the list of tiles in a tessellation, tilenames to extract the names of the tiles, and tile.areas to compute their areas.

The tiles may have marks, which can be extracted by marks.tess and changed by marks<-.tess.

Tessellations can be used to classify the points of a point pattern, in split.ppp, cut.ppp and by.ppp.

To construct particular tessellations, see quadrats, hextess, dirichlet, delaunay and rpoislinetess.

See Also

marks.tess, plot.tess, [.tess, as.tess, tiles, intersect.tess, split.ppp, cut.ppp, by.ppp, bdist.tiles, tile.areas.

To construct particular tessellations, see quadrats, hextess, dirichlet, delaunay and rpoislinetess.

To divide space into pieces containing equal amounts of stuff, use quantess.

Examples

Run this code
# NOT RUN {
  A <- tess(xgrid=0:4,ygrid=0:4)
  A
  plot(A)
  B <- A[c(1, 2, 5, 7, 9)]
  B
  v <- as.im(function(x,y){factor(round(5 * (x^2 + y^2)))}, W=owin())
  levels(v) <- letters[seq(length(levels(v)))]
  E <- tess(image=v)
  plot(E)
  G <- tess(image=v, marks=toupper(levels(v)), unitname="km")
  G
# }

Run the code above in your browser using DataLab