https://github.com/cran/gstat
Raw File
Tip revision: 846ba012dd5de47a8a01fe7700e673741274c168 authored by Edzer J. Pebesma on 07 November 2003, 16:39:05 UTC
version 0.9-9
Tip revision: 846ba01
xyz2img.R
"xyz2img" <-
function (xyz, zcol = 3, xcol = 1, ycol = 2) 
{
    if (ncol(xyz) < 3) 
        stop("xyz object should have at least three columns")
    z = xyz[, zcol]
    x = xyz[, xcol]
    y = xyz[, ycol]
    xx = sort(unique(x))
    yy = sort(unique(y))
    nx = length(xx)
    ny = length(yy)
    nmax = max(nx, ny)
    difx = diff(xx)
    if (diff(range(unique(difx))) > 1e-15) 
        stop("x intervals are not constant")
    dify = diff(yy)
    if (diff(range(unique(dify))) > 1e-15) 
        stop("y intervals are not constant")
    dx = difx[1]
    dy = dify[1]
    ratio = (nx * dx)/(ny * dy)
    xmin = min(xx)
    xmax = max(xx)
    xrange = xmax - xmin
    ymin = min(yy)
    ymax = max(yy)
    yrange = ymax - ymin
    zz = matrix(NA, nrow = nx, ncol = ny)
    xx = seq(xmin, xmax, dx)
    yy = seq(ymin, ymax, dy)
    row = round((x - xmin)/dx) + 1
    col = round((y - ymin)/dy) + 1
    for (i in 1:length(x)) zz[row[i], col[i]] = z[i]
    list(x = xx, y = yy, z = zz)
}
back to top