calcVoronoi {PBSmapping}R Documentation

Calculate the Voronoi (Dirichlet) Tesselation for a Set of Points

Description

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

Usage

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.

See Also

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

Examples

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

[Package PBSmapping version 2.09 Index]