
Create image for gridded data in SpatialGridDataFrame or SpatialPixelsDataFrame objects.
# S3 method for SpatialGridDataFrame
image(x, attr = 1, xcol = 1, ycol = 2,
col = heat.colors(12), red=NULL, green=NULL, blue=NULL,
axes = FALSE, xlim = NULL,
ylim = NULL, add = FALSE, ..., asp = NA, setParUsrBB=FALSE,
interpolate = FALSE, angle = 0,
useRasterImage = !(.Platform$GUI[1] == "Rgui" &&
getIdentification() == "R Console") && missing(breaks), breaks,
zlim = range(as.numeric(x[[attr]])[is.finite(x[[attr]])]))
# S3 method for SpatialPixelsDataFrame
image(x, ...)
# S3 method for SpatialPixels
image(x, ...)
# S3 method for SpatialGridDataFrame
contour(x, attr = 1, xcol = 1, ycol = 2,
col = 1, add = FALSE, xlim = NULL, ylim = NULL, axes = FALSE,
..., setParUsrBB = FALSE)
# S3 method for SpatialPixelsDataFrame
contour(x, ...)
as.image.SpatialGridDataFrame(x, xcol = 1, ycol = 2, attr = 1)
image2Grid(im, p4 = as.character(NA), digits=10)
as.image.SpatialGridDataFrame
returns the list with
elements x
and y
, containing the coordinates of the cell
centres of a matrix z
, containing the attribute values in matrix
form as needed by image.
object of class SpatialGridDataFrame
column of attribute variable; this may be
the column name in the data.frame of data
(as.data.frame(data)), or
a column number
column number of x-coordinate, in the coordinate matrix
column number of y-coordinate, in the coordinate matrix
a vector of colors
columns names or numbers given instead of the attr
argument when the data represent an image encoded in three colour bands on the 0-255 integer scale; all three columns must be given in this case, and the attribute values will be constructed using function rgb
logical; should coordinate axes be drawn?
x-axis limits
y-axis limits
data limits for plotting the (raster, attribute) values
logical; if FALSE, the image is added to the plot layout setup
by plot(as(x, "Spatial"),axes=axes,xlim=xlim,ylim=ylim,asp=asp)
which sets up axes and plotting region; if TRUE, the image is added
to the existing plot.
arguments passed to image, see examples
aspect ratio to be used for plot
default FALSE, see Spatial-class
for further details
if TRUE, use rasterImage
to render the image if available; for legacy rendering set FALSE; should be FALSE on Windows SDI installations
class breaks for coloured values
default FALSE, a logical vector (or scalar) indicating whether to apply linear interpolation to the image when drawing, see rasterImage
default 0, angle of rotation (in degrees, anti-clockwise from positive x-axis, about the bottom-left corner), see rasterImage
list with components named x, y, and z, as used for image
CRS object, proj4 string
default 10, number of significant digits to use for checking equal row/column spacing
Edzer Pebesma
image.default, SpatialGridDataFrame-class,
levelplot in package lattice
. Function
image.plot
in package fields
can be used to make a legend for an
image, see an example in https://stat.ethz.ch/pipermail/r-sig-geo/2007-June/002143.html
data(meuse.grid)
coordinates(meuse.grid) = c("x", "y") # promote to SpatialPointsDataFrame
gridded(meuse.grid) = TRUE # promote to SpatialGridDataFrame
data(meuse)
coordinates(meuse) = c("x", "y")
image(meuse.grid["dist"], main = "Distance to river Meuse")
points(coordinates(meuse), pch = "+")
image(meuse.grid["dist"], main = "Distance to river Meuse",
useRasterImage=TRUE)
points(coordinates(meuse), pch = "+")
# color scale:
layout(cbind(1,2), c(4,1),1)
image(meuse.grid["dist"])
imageScale(meuse.grid$dist, axis.pos=4, add.axis=FALSE)
axis(4,at=c(0,.2,.4,.8), las=2)
data(Rlogo)
d = dim(Rlogo)
cellsize = abs(c(gt[2],gt[6]))
cells.dim = c(d[1], d[2]) # c(d[2],d[1])
cellcentre.offset = c(x = gt[1] + 0.5 * cellsize[1], y = gt[4] - (d[2] - 0.5) * abs(cellsize[2]))
grid = GridTopology(cellcentre.offset, cellsize, cells.dim)
df = as.vector(Rlogo[,,1])
for (band in 2:d[3]) df = cbind(df, as.vector(Rlogo[,,band]))
df = as.data.frame(df)
names(df) = paste("band", 1:d[3], sep="")
Rlogo <- SpatialGridDataFrame(grid = grid, data = df)
summary(Rlogo)
image(Rlogo, red="band1", green="band2", blue="band3")
image(Rlogo, red="band1", green="band2", blue="band3",
useRasterImage=FALSE)
is.na(Rlogo$band1) <- Rlogo$band1 == 255
is.na(Rlogo$band2) <- Rlogo$band2 == 255
is.na(Rlogo$band3) <- Rlogo$band3 == 255
Rlogo$i7 <- 7
image(Rlogo, "i7")
image(Rlogo, red="band1", green="band2", blue="band3", add=TRUE)
Run the code above in your browser using DataLab