Dear Dr. Hijmans, Thank you very much for the advice. According to the poor results I received from interpolating gauge data, your approach really seems to be more promising. I'm trying to perform the sattelite data interpolation as you suggested. However, I'm facing an error. My satellite data consists of thousands of raw binary hourly files which I converted to netcdf monthly values and loaded into a variable: >summary(cmorph) Length Class Mode lonncfile 126 -none- >numericlatncfile 98 -none- numericdatancfile 12348 -none- numeric The 'cmorph' variable contains rainfall estimates to the southern most Brazilian state for january 2009. Everything goes fine when I create the raster object and extract the coordinates. The 'gauge' variable contains lon, lat and rainfall station values for the same january 2009: > r<-raster(cmorph$datancfile)> res<-xyValues(r,gauge[,1:2],method='bilinear') However, when trying to plot: > plot(res,gauge[,3])Error in plot.window(...) : need finite 'xlim' valuesIn > addition: Warning messages:1: In min(x) : no non-missing arguments to min; > returning Inf2: In max(x) : no non-missing arguments to max; returning -Inf This error is certainly caused by the contents of 'res' variable: > res [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA > NA NA [26] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA > NA NA NA [51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA > NA NA NA NA [76] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA > NA NA NA NA NA[101] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA > NA NA NA NA NA NA[126] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA > NA Could you figure out what I'm doing wrong?? Best regards, Thiago Veloso. --- On Tue, 29/6/10, Robert J. Hijmans <r.hijm...@gmail.com> wrote:
From: Robert J. Hijmans <r.hijm...@gmail.com> Subject: Re: [R-sig-Geo] Spatial data interpolation on R To: "Thiago Veloso" <thi_vel...@yahoo.com.br> Cc: r-sig-geo@stat.math.ethz.ch Date: Tuesday, 29 June, 2010, 15:15 Thiago, I think a better approach would be to estimate the value for the sat images at the stations' locations; and not the other way around, as your are proposing. A simple way to do that is bilinear interpolation of the sat image values for the weather station locations. If 'xyv' is your lon/lat/prec matrix and 'f' is a filename for one of your sat images. library(raster) r <- raster(f) res <- xyValues(r, xyv[,1:2], method='bilinear') plot(res, xyv[,3]) ..... and now analyze the difference between res and xyv[,3] data taking spatial autocorrelation into account Nevertheless, if you insist on interpolating the weather station data, you could do that with a spline library(fields) tps <- Tps(xyv[,1:2], xyv[,3]) p <- raster(r) p <- interpolate(p, tps) plot(p, r) In the end, the best approach to obtaining a raster of the rainfall data, if that is what you are after, would probably be a hybrid where the sat image is use as an independent variable (covariate) in the spline (or other interpolation method). Robert On Tue, Jun 29, 2010 at 8:59 AM, Don MacQueen <m...@llnl.gov> wrote: > If you are willing to do simple interpolation, i.e., ignoring any spatial > correlation, you could look at the interp() function, which is in the akima > package. Even if you need to incorporate spatial correlation, starting with > the interp() function would probably serve as a good way to get started > learning R. The help page for interp() has some examples. > > Here's an excerpt from the help page for the interp() function: > > interp package:akima R Documentation > > Gridded Bivariate Interpolation for Irregular Data > > Description: > > These functions implement bivariate interpolation onto a grid for > irregularly spaced input data. Bilinear or bicubic spline > interpolation is applied using different versions of algorithms > from Akima. > > > Install the akima package using the R console GUI (Mac or Windows) or the > install.packages() function (linux). > > Then there's the question of coordinate systems. interp() assumes cartesian > coordinates, but lat/long is not cartesian. If your site is too large, you > shouldn't ignore this, so you will have to learn how to project from > lat/long to UTM or other appropriate local coordinate system. For this, I > use the spTransform() function in the rgdal package. Looking on the CRAN > website, it appears there is a Windows binary for rgdal; for the other > platforms (I use Mac), it can be more challenging. Converting your data into > a "spatial" class object, so that it can be projected, will be a challenge > at first. > > Gettng the book that Mark Connolly mentioned would help a lot. > > -Don > > > At 10:20 AM -0700 6/2/10, Thiago Veloso wrote: >> >> Content-Type: text/plain >> Content-Disposition: inline >> Content-length: 937 >> >> Dear R colleagues! >> I´d like to start my participation in this list by describing my current >> problem: inside my area of study I need to compare precipitation data from >> two different sources: both station (total of 86) and a grid (at 8km) of >> satellite estimates. >> My specific objective is to interpolate the station data into a regular >> grid in the same resolution of the satellite estimates, preferentially >> having control of the spatial domain (lat/lon coordinates). As far as I know >> this is the correct way of making such comparison. >> Could anybody please point directions to perform this task using R? I´m >> such a beginner that I don´t even know if >> there´s a package designed to create regular grids from "random" data >> (interpolating by kriging or other technique). Usage examples would be >> welcomed as well! >> Thanks in advance, >> Thiago. >> >> >> >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> R-sig-Geo mailing list >> R-sig-Geo@stat.math.ethz.ch >> https://*stat.ethz.ch/mailman/listinfo/r-sig-geo > > > -- > -------------------------------------- > Don MacQueen > Environmental Protection Department > Lawrence Livermore National Laboratory > Livermore, CA, USA > 925-423-1062 > > _______________________________________________ > R-sig-Geo mailing list > R-sig-Geo@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/r-sig-geo > [[alternative HTML version deleted]]
_______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo