Make a grid of polygons, using PID
s and SID
s 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