Learn R Programming

spatstat (version 1.60-1)

centroid.owin: Centroid of a window

Description

Computes the centroid (centre of mass) of a window

Usage

centroid.owin(w, as.ppp = FALSE)

Arguments

w

A window

as.ppp

Logical flag indicating whether to return the centroid as a point pattern (ppp object)

Value

Either a list with components x, y, or a point pattern (of class ppp) consisting of a single point, giving the coordinates of the centroid of the window w.

Details

The centroid of the window w is computed. The centroid (``centre of mass'') is the point whose \(x\) and \(y\) coordinates are the mean values of the \(x\) and \(y\) coordinates of all points in the window.

The argument w should be a window (an object of class "owin", see owin.object for details) or can be given in any format acceptable to as.owin().

The calculation uses an exact analytic formula for the case of polygonal windows.

Note that the centroid of a window is not necessarily inside the window, unless the window is convex. If as.ppp=TRUE and the centroid of w lies outside w, then the window of the returned point pattern will be a rectangle containing the original window (using as.rectangle.

See Also

owin, as.owin

Examples

Run this code
# NOT RUN {
  w <- owin(c(0,1),c(0,1))
  centroid.owin(w)
  # returns 0.5, 0.5

  data(demopat)
  w <- Window(demopat)
  # an irregular window
  cent <- centroid.owin(w, as.ppp = TRUE)
  
# }
# NOT RUN {
  plot(cent)
  # plot the window and its centroid
  
# }
# NOT RUN {
  wapprox <- as.mask(w)
  # pixel approximation of window
  
# }
# NOT RUN {
  points(centroid.owin(wapprox))
  # should be indistinguishable 
  
# }
# NOT RUN {
  
# }

Run the code above in your browser using DataLab