Make a grid of polygons, using PIDs and SIDs according
to the input arguments.
makeGrid(x, y, byrow=TRUE, addSID=TRUE,
projection=NULL, zone = NULL, type="rectangle")numeric -- vector of X-coordinates (of length \(m\)).
numeric -- vector of Y-coordinates (of length \(n\)).
logical -- if TRUE and type='rectangle', increment PID along X (column-wise);
-- if TRUE and type='hexagon', create flat-topped hexagons contiguous by column and increment PID by column;
-- if FALSE and type='hexagon', create pointy-topped hexagons contiguous by row and increment PID by row.
logical -- if TRUE, include an SID field in
the resulting PolySet, incremented by the alternative dimension used by PID.
character -- optional projection attribute to add to
the PolySet.
numeric -- optional zone attribute to add to the PolySet.
character -- type of regular tesselation; choices: "rectangle" or "hexagon".
PolySet with columns PID, SID
(if addSID=TRUE), POS, X, and Y.
The PolySet is a set of rectangular grid cells when type='rectangle', with
vertices:
\((x_{i}, y_{j}), (x_{i+1}, y_{j}), (x_{i+1}, y_{j+1}), (x_{i},
y_{j+1})\).
The PolySet is a set of hexagonal grid cells when type='hexagon'.
This function makes a grid of polygons, labeling them according to
byrow and addSID.
For rectangular tesselations (grid cells), the variables \(i\) and \(j\) indicate column and row numbers, respectively, where the lower-left cell of the grid is (1, 1):
byrow \(=\) TRUE and addSID \(=\)
FALSE implies PID \(= i + (j - 1) \times (m -
1)\)
byrow \(=\) FALSE and addSID \(=\)
FALSE implies PID \(= j + (i - 1) \times (n -
1)\)
byrow \(=\) TRUE and addSID \(=\)
TRUE implies PID \(= i\), SID \(= j\)
byrow \(=\) FALSE and addSID \(=\)
TRUE implies PID \(= j\), SID \(= i\)
For hexagonal tesselations (grid cells), \(i\) indicates columns for flat-topped hexagons and rows for pointy-topped hexagons. The reverse is true for \(j\). Stemming from their six-sided nature, hexagons will adjoin along a long-edge by row when their orientation is such that one vertex is higher than all the others. Hexagons will adjoin along a long-edge by column when their orientation shows two uppermost vertices.
addPolys,
clipPolys,
combineEvents,
findCells,
findPolys,
thickenPolys.
# NOT RUN {
local(envir=.PBSmapEnv,expr={
oldpar = par(no.readonly=TRUE)
##--- make a 10 x 10 grid
polyGrid <- makeGrid(x=0:10, y=0:10)
##--- plot the grid
plotPolys(polyGrid, density=0, projection=1)
par(oldpar)
})
# }
Run the code above in your browser using DataLab