| SpatialGridDataFrame-class {sp} | R Documentation |
Class "SpatialGridDataFrame"
Description
Class for spatial attributes that have spatial locations on a (full) regular grid.
Objects from the Class
Objects can be created by calls of the form as(x,
"SpatialGridDataFrame"), where x is of class
SpatialPixelsDataFrame-class, or by importing through rgdal.
Ordered full grids are stored instead or unordered non-NA cells;
Slots
grid:see GridTopology-class; grid parameters
bbox:Object of class
"matrix"; bounding boxproj4string:Object of class
"CRS"; projectiondata:Object of class data.frame, containing attribute data
Extends
Class "SpatialGrid", directly.
Class "Spatial", by class "SpatialGrid".
Methods
- coordinates
signature(x = "SpatialGridDataFrame"): retrieves (and calculates!) coordinates- [
signature(x = "SpatialGridDataFrame"): selects rows, columns, and attributes; returns an object of classSpatialGridDataFrame- as.matrix
signature(x = "SpatialGridDataFrame"): coerce to matrix; increasing col index corresponds to decreasing y coordinate, row index increases with coordinate index- as.array
signature(x = "SpatialGridDataFrame"): coerce to array; increasing array index for the second dimension corresponds to decreasing coordinates, all other coordinate dimensions increase with array index- cbind
signature(...): if arguments have identical topology, combine their attribute values
Plot method arguments
The plot methods for “SpatialPixelsDataFrame” or “SpatialGridDataFrame” objects take the following arguments:
- x
object of class SpatialPixelsDataFrame or SpatialGridDataFrame
- ...
arguments passed on to image.SpatialGridDataFrame
- attr
integer or character, indicating the attribute variable to be plotted; default 1
- col
color ramp to be used; default
bpy.colors(100)for continuous, orRColorBrewer::brewer.pal(nlevels(x[[1]]), "Set2")for factor variables- breaks
for continuous attributes: values at which color breaks should take place
- zlim
for continuous attributes: numeric of length 2, specifying the range of attribute values to be plotted; default to data range
range(as.numeric(x[[attr]])[is.finite(x[[attr]])])- axes
logical: draw x and y axes? default
FALSE- xaxs
character, default "i", see par
- yaxs
character, default equal to
xaxs, see par- at
numeric or NULL, values at which axis tics and labels should be drawn; default NULL (use pretty)
- border
color, to be used for drawing grid lines; default NA (don't draw grid lines)
- axis.pos
integer, 1-4; default 4, see axis
- add.axis
logical: draw axis along scale? default
TRUE- what
what to draw:
"image","scale", or"both"; default "both"- scale.size
size for the scale bar; use lcm to specify in absolute size, or a numeric value such as
1/6to specify relative size; defaultlcm(2.8)- scale.shrink
non-negative numeric indicating the amount to shrink the scale length, default 0
- scale.frac
for categorical attributes: numeric between 0 and 1, indicating the scale width, default 0.3
- scale.n
for categorical attributes: integer, indicating how many scale categories should fill a complete width; default 15
Author(s)
Edzer Pebesma, edzer.pebesma@uni-muenster.de
See Also
SpatialGrid-class, which does not contain the attribute data,
and SpatialPixelsDataFrame-class which holds possibly incomplete
grids
Plotting gridded data with sp: https://r-spatial.org/r/2016/03/08/plotting-spatial-grids.html
Examples
data(meuse.grid) # only the non-missing valued cells
coordinates(meuse.grid) = c("x", "y") # promote to SpatialPointsDataFrame
gridded(meuse.grid) <- TRUE # promote to SpatialPixelsDataFrame
x = as(meuse.grid, "SpatialGridDataFrame") # creates the full grid
x[["idist"]] = 1 - x[["dist"]] # assigns new attribute
image(x["idist"]) # note the single [ for attribute selection
# toy example:
df = data.frame(z = c(1:6,NA,8,9),
xc = c(1,1,1,2,2,2,3,3,3),
yc = c(rep(c(0, 1.5, 3),3)))
coordinates(df) = ~xc+yc
gridded(df) = TRUE
df = as(df, "SpatialGridDataFrame") # to full grid
image(df["z"])
# draw labels to verify:
cc = coordinates(df)
z=df[["z"]]
zc=as.character(z)
zc[is.na(zc)]="NA"
text(cc[,1],cc[,2],zc)
# the following is weird, but illustrates the concept of row/col selection:
fullgrid(meuse.grid) = TRUE
image(meuse.grid)
image(meuse.grid[20:70, 10:70, "dist"], add = TRUE, col = bpy.colors())
# as.matrix, as.array
sgdim = c(3,4)
SG = SpatialGrid(GridTopology(rep(0,2), rep(10,2), sgdim))
SGDF = SpatialGridDataFrame(SG, data.frame(val = 1:12))
as.array(SGDF)
as.matrix(SGDF)
as(SGDF, "array")