calcVoronoi | R Documentation |
Calculate the Voronoi (Dirichlet) tesselation for a set of points.
calcVoronoi (xydata, xlim = NULL, ylim = NULL, eps = 1e-09, frac = 0.0001)
xydata |
a data frame with columns |
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 |
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.
PolySet with columns PID
, POS
, X
, and Y
.
Nicholas M. Boers, Staff Software Engineer
Jobber, Edmonton AB
Last modified Rd: 2013-04-10
addPoints
,
addPolys
,
calcArea
,
calcCentroid
,
calcConvexHull
,
calcMidRange
,
calcSummary
,
locateEvents
,
plotMap
,
plotPoints
,
plotPolys
.
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)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.