calcVoronoi: Calculate the Voronoi (Dirichlet) Tesselation for a Set of... In PBSmapping: Mapping Fisheries Data and Spatial Analysis Tools

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`

`addPoints`, `addPolys`, `calcArea`, `calcCentroid`, `calcConvexHull`, `calcMidRange`, `calcSummary`, `locateEvents`, `plotMap`, `plotPoints`, `plotPolys`.
 ``` 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) }) ```