Roger, This is what the summary() command gives me before/after I use fullgrid(dem) <- FALSE
dem<-readFLOAT6sp("ohrfc.dem") > summary(dem) Object of class SpatialGridDataFrame Coordinates: min max coords.x1 -351000 675000 coords.x2 -486000 486000 Is projected: TRUE proj4string : [+proj=lcc +lat_0=39.0000000000 +lat_1=60.0000000000 +lat_2=30.0000000000 +lon_0=-86.0000000000 +x_0=0.0000000000 +y_0=0.0000000000 +a=6378137 +rf=298.257223563 +no_defs +towgs84=0.000,0.000,0.000] Number of points: 2 Grid attributes: cellcentre.offset cellsize cells.dim 1 -346500 9000 114 2 -481500 9000 108 Data attributes: ohrfc.dem Min. : 0.0 1st Qu.: 183.0 Median : 244.0 Mean : 302.2 3rd Qu.: 335.0 Max. :1707.1 NA's :1513.0 ============================================= > fullgrid(dem)<-FALSE > summary(dem) Object of class SpatialPixelsDataFrame Coordinates: min max s1 -351000 675000 s2 -432000 468000 Is projected: TRUE proj4string : [+proj=lcc +lat_0=39.0000000000 +lat_1=60.0000000000 +lat_2=30.0000000000 +lon_0=-86.0000000000 +x_0=0.0000000000 +y_0=0.0000000000 +a=6378137 +rf=298.257223563 +no_defs +towgs84=0.000,0.000,0.000] Number of points: 10799 Data attributes: ohrfc.dem Min. : 0.0 1st Qu.: 183.0 Median : 244.0 Mean : 302.2 3rd Qu.: 335.0 Max. :1707.1 > names(dem) [1] "ohrfc.dem" Regards, Tom Roger Bivand wrote: > On Fri, 28 Apr 2006, Thomas Adams wrote: > > >> Roger, >> >> Your suggestion: >> >> fullgrid(dem) <- FALSE >> >> did turn dem into class type SpatialGridDataFrame, but when I tried: >> >> z <- predict(UK_fit,newdata=dem) >> >> I got an error: >> >> Error in model.frame(... : >> invalid variable type. >> >> I think I should restate the problem: >> >> I have a file 'temps' which has class SpatialPointsDataFrame read from >> GRASS 6.1, that looks like: >> >> coordinates cat x y z temp name >> 1 (-341460, -2154.42) 1 -90.05 38.90 166 63 ALN >> 2 (-198769, 301388) 2 -88.47 41.77 215 67 ARR >> 3 (-334899, -40321) 3 -89.95 38.55 140 66 BLV >> 4 (-240028, 163910) 4 -88.92 40.48 268 69 BMI >> 5 (-187957, 114806) 5 -88.27 40.04 229 64 CMI >> 6 (-351730, -37305.9) 6 -90.15 38.57 126 65 CPS >> 7 (-242424, 98244.7) 7 -88.92 39.87 204 66 DEC >> 8 (-179844, 315889) 8 -88.24 41.91 232 69 DPA >> 9 (-136093, -24538.2) 9 -87.61 38.76 131 68 LWV >> 10 (-278964, -126152) 10 -89.25 37.78 125 66 MDH >> 11 (-140792, 302011) 11 -87.75 41.79 187 73 MDW >> 12 (-364737, 274189) 12 -90.51 41.45 180 73 MLI >> 13 (-190503, 54493.9) 13 -88.28 39.48 219 64 MTO >> >> and I have a a file 'dem' which has class SpatialGridDataFrame which >> just consists of grid of elevation values read from GRASS 6.1 using >> dem<-readFLOAT6sp(). (Sorry, I know I'm repeating myself). >> >> What I want to do is to use the grid of elevation values ('dem') as a >> proxy in the spatial interpolation of the 'temp' values in my 'temps' >> file that are located at the coordinates in parentheses(). Notice that >> the temps file also has 'z' values of elevations. So, is this what you >> already understood? Converting 'dem' to a SpatialPixelsDataFrame seemed >> to only leave me with the grid locations and not the elevation values — >> is this right. >> > > What does: > > summary(dem) > > say before and after doing > > fullgrid(dem) <- FALSE? > > Afterwards it should be a SpatialPixelsDataFrame with > > names(dem) > > being "z". Saying summary(dem) will give you an idea of what is inside, > str() should too. > > Roger > > PS. This is usually a one-off thing, once it works, you note down how, and > then it just does from then on. > > > >> Thanks again for your help! >> >> Regards, >> Tom >> >> >> Roger Bivand wrote: >> >>> On Fri, 28 Apr 2006, Thomas Adams wrote: >>> >>> >>> >>>> Roger, >>>> >>>> This got me further along, but I am encountering a problem with: >>>> >>>> z <- predict(UK_fit, newdata=BMcD_SPx) >>>> >>>> The gstat step works for me, where I have: >>>> >>>> UK_fit<-gstat(formula=temps$temp~dem,data=temps,model=efitted) >>>> >>>> temps has class SpatialPointsDataFrame: >>>> >>>> coordinates cat x y z temp name >>>> 1 (-341460, -2154.42) 1 -90.05 38.90 166 63 ALN >>>> 2 (-198769, 301388) 2 -88.47 41.77 215 67 ARR >>>> 3 (-334899, -40321) 3 -89.95 38.55 140 66 BLV >>>> 4 (-240028, 163910) 4 -88.92 40.48 268 69 BMI >>>> 5 (-187957, 114806) 5 -88.27 40.04 229 64 CMI >>>> 6 (-351730, -37305.9) 6 -90.15 38.57 126 65 CPS >>>> 7 (-242424, 98244.7) 7 -88.92 39.87 204 66 DEC >>>> 8 (-179844, 315889) 8 -88.24 41.91 232 69 DPA >>>> 9 (-136093, -24538.2) 9 -87.61 38.76 131 68 LWV >>>> 10 (-278964, -126152) 10 -89.25 37.78 125 66 MDH >>>> 11 (-140792, 302011) 11 -87.75 41.79 187 73 MDW >>>> 12 (-364737, 274189) 12 -90.51 41.45 180 73 MLI >>>> 13 (-190503, 54493.9) 13 -88.28 39.48 219 64 MTO >>>> >>>> and dem has class SpatialGridDataFrame and just consists of grid values. >>>> >>>> >>> I think >>> >>> fullgrid(dem) <- FALSE >>> >>> should make a SpatialPixelsDataFrame, but you'll have to make sure the >>> name of the dem variable is the same as in the formula. >>> >>> Roger >>> >>> >>> >>>> I tried to create a SpatialPixelsDataFrame for predict(), but with (for >>>> example): >>>> >>>> m = SpatialPixelsDataFrame(points=meuse.grid[c("x","y")],data=meuse.grid) >>>> >>>> I have nothing like meuse.grid, so this does not work. I can use >>>> image(dem), which produces a plot of elevation values. My point is that >>>> meuse.grid and my dem files have very different structures. >>>> >>>> I'm not sure where to go to from here. >>>> >>>> Regards, >>>> Tom >>>> >>>> >>>> Roger Bivand wrote: >>>> >>>> >>>>> On Thu, 27 Apr 2006, Thomas Adams wrote: >>>>> >>>>> >>>>> >>>>> >>>>>> List: >>>>>> >>>>>> I can not seem to work out the syntax for using R/gstat within a GRASS >>>>>> 6.1 session to do universal kriging. I have a DEM (elevation data on a >>>>>> grid) and point data for temperature; theoretically, the temperatures >>>>>> should relate to elevation. So, I am trying to spatially interpolate the >>>>>> temperature data based on the elevations at the grid points. How do I >>>>>> setup the gstat command in R/gstat (and using spgrass6, of course)? I >>>>>> have no trouble reading in my elevation data (DEM) from GRASS and I have >>>>>> no problem doing ordinary kriging of my temperature data using >>>>>> GRASS/R/gstat. >>>>>> >>>>>> >>>>>> >>>>> What do the data look like? Do you have temperature and elevation at the >>>>> observation points and elevation over the grid? If temperature is the >>>>> variable for which you want to interpolate, then the formula argument in >>>>> the gstat() function would be temp ~ elev, data=pointsdata (if a >>>>> SpatialPointsDataFrame no need for location= ~ x + y). Then the predict() >>>>> step would need a SpatialGridDataFrame object as newdata, with elev as >>>>> (one of) the columns in the data slot. >>>>> >>>>> An example for the Meuse bank data in Burrough and McDonnell: >>>>> >>>>> cvgm <- variogram(Zn ~ Fldf, data=BMcD, width=100, cutoff=1000) >>>>> uefitted <- fit.variogram(cvgm, vgm(psill=1, model="Exp", range=100, >>>>> nugget=1)) >>>>> UK_fit <- gstat(id="UK_fit", formula = Zn ~ Fldf, data = BMcD, >>>>> model=uefitted) >>>>> z <- predict(UK_fit, newdata=BMcD_SPx) >>>>> >>>>> where BMcD_SPx is a SpatialPixelsDataFrame (the grid has ragged edges) >>>>> with flood frequencies in Fldf (actually a factor, but works neatly). >>>>> >>>>> Hope this helps, >>>>> >>>>> Roger >>>>> >>>>> >>>>> >>>>> >>>>>> Regards, >>>>>> Tom >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > -- Thomas E Adams National Weather Service Ohio River Forecast Center 1901 South State Route 134 Wilmington, OH 45177 EMAIL: [EMAIL PROTECTED] VOICE: 937-383-0528 FAX: 937-383-0033 _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo