appendPolys function

Append a Two-Column Matrix to a PolySet

Append a Two-Column Matrix to a PolySet

Append a two-column matrix to a PolySet , assigning PID and possibly SID values automatically or as specified in its arguments.

appendPolys (polys, mat, PID = NULL, SID = NULL, isHole = FALSE)

Arguments

  • polys: existing PolySet ; if NULL, creates a new PolySet (required).
  • mat: two-column matrix to append (required).
  • PID: new polygon's PID.
  • SID: new polygon's SID.
  • isHole: Boolean value; if TRUE, mat represents a hole.

Details

If the PID argument is NULL, the appended polygon's PID will be one greater than the maximum within polys

(if defined); otherwise, it will be 1.

If polys contains an SID column and the SID

argument equals NULL, this function uses the next available SID for the corresponding PID.

If polys does not contain an SID column and the caller passes an SID argument, all existing polygons will receive an SID of 1. The new polygon's SID will match the SID argument.

If isHole = TRUE, the polygon's POS values will appropriately represent a hole (reverse order of POS).

If (PID, SID) already exists in the PolySet , the function will issue a warning and duplicate those identifiers.

Returns

PolySet containing mat appended to polys. The function retains attributes from polys.

Author(s)

Nicholas M. Boers, Staff Software Engineer

Jobber, Edmonton AB

Last modified Rd: 2013-04-10

See Also

addPolys, clipPolys, closePolys, convLP, fixBound, fixPOS, joinPolys, plotMap, plotPolys.

Examples

local(envir=.PBSmapEnv,expr={ #--- create two simple matrices a <- matrix(data=c(0,0,1,0,1,1,0,1),ncol=2,byrow=TRUE); b <- matrix(data=c(2,2,3,2,3,3,2,3), ncol=2,byrow=TRUE); #--- build a PolySet from them polys <- appendPolys(NULL, a); polys <- appendPolys(polys, b); #--- print the result print (polys); })