intersect.owin {spatstat.geom} | R Documentation |
Intersection, Union or Set Subtraction of Windows
Description
Yields the intersection, union or set subtraction of windows.
Usage
intersect.owin(..., fatal=FALSE, p)
union.owin(..., p)
setminus.owin(A, B, ..., p)
Arguments
A , B |
Windows (objects of class |
... |
Windows,
or arguments passed to |
fatal |
Logical. Determines what happens if the intersection is empty. |
p |
Optional list of parameters passed to
|
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 by
as.owin
),lists of windows, of class
"solist"
,named arguments of
as.mask
to 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 an empty window or NULL
,
while if fatal=TRUE
an error occurs.
Value
A window (object of class "owin"
)
or possibly NULL
.
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
See Also
is.subset.owin
,
overlap.owin
,
is.empty
,
boundingbox
,
owin.object
Examples
# rectangles
u <- unit.square()
v <- owin(c(0.5,3.5), c(0.4,2.5))
# polygon
letterR
# mask
m <- as.mask(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)
# mask and rectangle
intersect.owin(m, v)
union.owin(m,v)
setminus.owin(m,v)
# mask and polygon
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(w, add=TRUE, col="lightblue")
plot(A, add=TRUE)
plot(B, add=TRUE)
plot(boundingbox(A,B), main="union")
w <- union.owin(A,B)
plot(w, add=TRUE, col="lightblue")
plot(A, add=TRUE)
plot(B, add=TRUE)
plot(boundingbox(A,B), main="set minus")
w <- setminus.owin(A,B)
plot(w, add=TRUE, col="lightblue")
plot(A, add=TRUE)
plot(B, add=TRUE)
# intersection and union of three windows
C <- shift(B, c(0.2, 0.3))
plot(union.owin(A,B,C))
plot(intersect.owin(A,B,C))