calcVoronoi: Calculate the Voronoi (Dirichlet) Tesselation for a Set of...

Description Usage Arguments Details Value Author(s) See Also Examples

View source: R/PBSmapping.r

Description

Calculate the Voronoi (Dirichlet) tesselation for a set of points.

Usage

1
calcVoronoi (xydata, xlim = NULL, ylim = NULL, eps = 1e-09, frac = 0.0001)

Arguments

xydata

a data frame with columns X and Y containing the points.

xlim

range of X-coordinates; a bounding box for the coordinates.

ylim

range of Y-coordinates; a bounding box for the coordinates.

eps

the value of epsilon used in testing whether a quantity is zero.

frac

used to detect duplicate input points, which meet the condition abs(x1-x2) < frac*(xmax-xmin) and abs(y1-y2) < frac*(ymax-ymin).

Details

This routine ignores all columns other than X and Y.

If the user leaves xlim and ylim unspecified, the function defaults to the range of the data with each extent expanded by ten percent of the range.

This function sets the attribute projection to 1 and the attribute zone to NULL as it assumes this projection in its calculations.

Value

PolySet with columns PID, POS, X, and Y.

Author(s)

Nicholas M. Boers, Associate Professor – Computer Science
MacEwan University, Edmonton AB
Last modified Rd: 2013-04-10

See Also

addPoints, addPolys, calcArea, calcCentroid, calcConvexHull, calcMidRange, calcSummary, locateEvents, plotMap, plotPoints, plotPolys.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
local(envir=.PBSmapEnv,expr={
  oldpar = par(no.readonly=TRUE)
  #--- create some EventData
  events <- as.EventData(data.frame(
    EID=1:200, X=rnorm(200), Y=rnorm(200)), projection=1)
  #--- calculate the Voronoi tesselation
  polys <- calcVoronoi(events)
  #--- create PolyData to color it based on area
  polyData <- calcArea(polys)
  names(polyData)[is.element(names(polyData), "area")] <- "Z"
  colSeq <- seq(0.4, 0.95, length=4)
  polyData <- makeProps(polyData,
    breaks=quantile(polyData$Z,c(0,.25,.5,.75,1)),
    propName="col", propVals=rgb(colSeq,colSeq,colSeq))
  #--- plot the tesselation
  plotMap(polys, polyProps=polyData)
  #--- plot the points
  addPoints(events, pch=19)
  par(oldpar)
})

PBSmapping documentation built on Jan. 15, 2021, 3:41 p.m.