clipPolys: Clip a PolySet as Polygons or Polylines

View source: R/PBSmapping.r

clipPolysR Documentation

Clip a PolySet as Polygons or Polylines

Description

Clip a 'PolySet', where each unique ('PID', 'SID') describes a polygon or polyline.

Usage

clipPolys (polys, xlim, ylim, keepExtra = FALSE)

clipLines (polys, xlim, ylim, keepExtra = FALSE)

.clip(polys, xlim, ylim, isPolygons, keepExtra)

Arguments

polys

data.frame'PolySet' to clip

xlim

numeric – range of X-coordinates

ylim

numeric – range of Y-coordinates

keepExtra

logical – if TRUE, try to carry forward any non-standard columns into the result

isPolygons

logical – if TRUE, then PolySet contains polygons, else PolySet contains polylines

Details

For each discrete polygon, the function connects vertices 1 and N (does not connect vertices 1 and N for discrete polylines). It recalculates the 'POS' values for each vertex, saving the old values in a column named 'oldPOS'. For new vertices, it sets 'oldPOS' to NA.

Value

'PolySet' containing the input data, with some points added or removed. A new column 'oldPOS' records the original 'POS' value for each vertex.

Author(s)

Nicholas M. Boers, Software Engineer, Jobber, Edmonton AB

Maintainer: Rowan Haigh, Program Head – Offshore Rockfish
Pacific Biological Station (PBS), Fisheries & Oceans Canada (DFO), Nanaimo BC
locus opus: Remote office, Vancouver BC
Last modified Rd: 2024-09-03

See Also

In package PBSmapping:
addLines, addPolys, addStipples, PolySet

Examples

local(envir=.PBSmapEnv,expr={
  oldpar = par(no.readonly=TRUE)
  #--- create a triangle that will be clipped
  polys <- data.frame(PID=rep(1, 3), POS=1:3, X=c(0,1,.5), Y=c(0,0,1))
  #--- clip the triangle in the X direction, and plot the results
  plotPolys(clipPolys(polys,xlim=c(0,.75),ylim=range(polys[,"Y"])),col=2)
  par(oldpar)
})

PBSmapping documentation built on Sept. 30, 2024, 9:21 a.m.