# intersect.owin

0th

Percentile

##### Intersection, Union or Set Subtraction of Windows

Yields the intersection, union or set subtraction of windows.

Keywords
spatial, math
##### Usage
intersect.owin(..., fatal=TRUE, p)
union.owin(..., p)
setminus.owin(A, B, ..., p)
##### Arguments
A,B
Windows (objects of class "owin") or data acceptable to as.owin.
...
Windows, or arguments passed to as.mask to control the discretisation.
fatal
Logical. Determines what happens if the intersection is empty.
p
Optional list of parameters passed to polyclip to control the accuracy of polygon geometry.
##### Details

The function intersect.owin computes the intersection between the windows given in ..., while union.owin computes their union. The function setminus.owin computes the intersection of A with the complement of B.

For intersect.owin and union.owin, the arguments ... must be either

• window objects of class"owin",
• data that can be coerced to this class byas.owin),
• lists of windows, of class"solist",
• named arguments ofas.maskto control the discretisation if required.
For setminus.owin, the arguments ... must be named arguments of as.mask.

If the intersection is empty, then if fatal=FALSE the result is NULL, while if fatal=TRUE an error occurs.

##### Value

• A window (object of class "owin") or possibly NULL.

is.subset.owin, overlap.owin, boundingbox, owin.object

##### Aliases
• intersect.owin
• union.owin
• setminus.owin
##### Examples
# rectangles
u <- unit.square()
v <- owin(c(0.5,3.5), c(0.4,2.5))
# polygon
data(letterR)

# two rectangles
intersect.owin(u, v)
union.owin(u,v)
setminus.owin(u,v)

# polygon and rectangle
intersect.owin(letterR, v)
union.owin(letterR,v)
setminus.owin(letterR,v)

intersect.owin(m, v)
union.owin(m,v)
setminus.owin(m,v)

p <- rotate(v, 0.2)
intersect.owin(m, p)
union.owin(m,p)
setminus.owin(m,p)

# two polygons
A <- letterR
B <- rotate(letterR, 0.2)
plot(boundingbox(A,B), main="intersection")
w <- intersect.owin(A, B)

plot(boundingbox(A,B), main="union")
w <- union.owin(A,B)

plot(boundingbox(A,B), main="set minus")
w <- setminus.owin(A,B)
plot(intersect.owin(A,B,C))