Learn R Programming

spatstat.geom (version 3.2-8)

intersect.tess: Intersection of Two Tessellations

Description

Yields the intersection of two tessellations, or the intersection of a tessellation with a window.

Usage

intersect.tess(X, Y, ..., keepempty=FALSE, keepmarks=FALSE, sep="x")

Value

A tessellation (object of class "tess").

Arguments

X,Y

Two tessellations (objects of class "tess"), or windows (objects of class "tess"), or other data that can be converted to tessellations by as.tess.

...

Optional arguments passed to as.mask to control the discretisation, if required.

keepempty

Logical value specifying whether empty intersections between tiles should be retained (keepempty=TRUE) or deleted (keepempty=FALSE, the default).

keepmarks

Logical value. If TRUE, the marks attached to the tiles of X and Y will be retained as marks of the intersection tiles.

sep

Character string used to separate the names of tiles from X and from Y, when forming the name of the tiles of the intersection.

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Rolf Turner rolfturner@posteo.net

Details

A tessellation is a collection of disjoint spatial regions (called tiles) that fit together to form a larger spatial region. See tess.

If X and Y are not tessellations, they are first converted into tessellations by as.tess.

The function intersect.tess then computes the intersection between the two tessellations. This is another tessellation, each of whose tiles is the intersection of a tile from X and a tile from Y.

One possible use of this function is to slice a window W into subwindows determined by a tessellation. See the Examples.

See Also

tess, as.tess, intersect.owin

Examples

Run this code
  opa <- par(mfrow=c(1,3))
# polygon
  plot(letterR)
# tessellation of rectangles
  X <- tess(xgrid=seq(2, 4, length=10), ygrid=seq(0, 3.5, length=8))
  plot(X)
  plot(intersect.tess(X, letterR))

  A <- runifrect(10)
  B <- runifrect(10)
  plot(DA <- dirichlet(A))
  plot(DB <- dirichlet(B))
  plot(intersect.tess(DA, DB))
  par(opa)

  marks(DA) <- 1:10
  marks(DB) <- 1:10
  plot(Z <- intersect.tess(DA,DB, keepmarks=TRUE))
  mZ <- marks(Z)
  tZ <- tiles(Z)
  for(i in which(mZ[,1] == 3)) plot(tZ[[i]], add=TRUE, col="pink")

Run the code above in your browser using DataLab