Here's one simple way, using package akima:
library(sp)
data(meuse)
## assume your data is Spatial*
coordinates(meuse) <- ~x+y
## use "elev" column in akima
library(akima)
## define a grid
xx <- coordinates(meuse)[,1]
yy <- coordinates(meuse)[,2]
## modify offset of 100 to match your data, or use a proportion
grd <- expand.grid(x = seq(min(xx) - 200, max(xx) + 200, length = 100),
y = seq(min(yy) - 200, max(yy) + 200, length = 100))
res <- interpp(xx, yy, meuse$elev, grd$x, grd$y)
res <- as.data.frame(res) ## akima output is a list of 3 equal-length
vectors like grd passed in
## if you want to interpolate on another "Z", repeat as desired, adding
to output
res$cadmium <- interpp(xx, yy, meuse$cadmium, grd$x, grd$y)$z
coordinates(res) <- ~x+y
gridded(res) <- TRUE
## if you don't have a lot of empty cells
fullgrid(res) <- TRUE
image(res, "z")
## confirm where the high values were
points(meuse$x, meuse$y, cex = meuse$elev/5)
image(res, "cadmium") ## etc
spplot(res)
Steve Friedman wrote:
Hi,
I have a spatial data set consisting of several z values and UTM
coordinates. Can someone direct me to documentation describing how I
can
plot specific z values using the coordinates to develop a continuous
surface
map?
Thanks
Steve
[[alternative HTML version deleted]]