spatstat.geom (version 3.2-9)

tess: Create a Tessellation


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


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


An object of class "tess" representing the tessellation.





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


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


Pixel image (object of class "im") which specifies the tessellation. Incompatible with other arguments.


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


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


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


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.


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


Adrian Baddeley, Rolf Turner and Ege Rubak


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:


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, venn.tess, polartess, quantess, bufftess and rpoislinetess.

See Also

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

To construct particular tessellations, see quadrats, hextess, venn.tess, polartess, dirichlet, delaunay, quantess and rpoislinetess.

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

To convert a tessellation to a function, for use as a spatial covariate (associating a numerical value with each tile of the tessellation) use as.function.tess.


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

Run the code above in your browser using DataLab