intersect.tess: Intersection of Two Tessellations

View source: R/tess.R

intersect.tessR Documentation

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")

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.

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.

Value

A tessellation (object of class "tess").

Author(s)

\adrian

and \rolf

See Also

tess, as.tess, intersect.owin

Examples

  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")

spatstat.geom documentation built on Sept. 18, 2024, 9:08 a.m.