On 12.10.2010 20:36 (UTC+1), Barry Rowlingson wrote:
Anybody still reading this?

Yes, even though I am not working with grd data, the problem is interesting. Instead I am working with .sgrd (SAGA GRID binaries), which can be read with rgdal and/or RSAGA.

I'm sometimes so stuck with sp-objects and rgdal that I forget that
the easiest way to read raw binary data is with readBin. Wrap it into
a function, make it a matrix, now I can easily read time slices:

readTime<-
   function(f,tm,x=69,y=65,size=4,type="double",NAvalue=-999){
     c = file(f,open="rb")
     seek(c,x*y*(tm-1)*size)
     m=matrix(readBin(c,type,x*y,size),x,y)
     close(c)
     m[abs(m-NAvalue)<.Machine$double.eps] = NA
     m
   }

  par(mfrow=c(2,2))
  for(p in 1:4){
  image(readTime("rf0.5_1975.grd",p))
  }

  I didn't realise it was India because my gdal virtual raster was sideways.

Thanks for showing this way for working with binary data,
Rainer Hurling

Barry

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to