Skip to content
Prev 4900 / 29559 Next

reading *.grd files - revisited

Dear Monica,

You probably refer to this thread:
https://stat.ethz.ch/pipermail/r-sig-geo/2008-October/004326.html
which is about Surfer (.grd) files. Unfortunately .grd is used for
many different formats, and your file is not a Surfer .grd file.

In fact it is a netCDF file. ( .cdf or .nc are more common extensions
for that format !)

I was able to read your file and plot the values like this (I use the
raster package, but you can adapt the last bit if you do not want
that):

# you probably need to install these two packages:
install.packages("ncdf")
install.packages("raster", repos="http://R-Forge.R-project.org")

require(ncdf)
require(raster)

f <- "d:/test_grid.grd"
nc <- open.ncdf(f)
xr <- get.var.ncdf(nc, nc$var[[1]])
yr <- get.var.ncdf(nc, nc$var[[2]])
res <- get.var.ncdf(nc, nc$var[[4]])
dims <- get.var.ncdf(nc, nc$var[[5]])
v <- as.vector(get.var.ncdf(nc, nc$var[[6]]))
close.ncdf(nc)

xm <- xr[1] - 0.5 * res[1]
xx <- xr[2] + 0.5 * res[1]
ym <- yr[1] - 0.5 * res[2]
yx <- yr[2] + 0.5 * res[2]

r <- newRaster(xmn=xm, xmx=xx, ymn=ym, ymx=yx, ncols=dims[1], nrows=dims[2])
r <- setValues(r, v)
plot(r)

# if you want an sp grid object
sp <- asSpGrid(r)


Robert
On Wed, Jan 28, 2009 at 12:21 AM, Monica Pisica <pisicandru at hotmail.com> wrote: