[R-sig-Geo] kriging inside borders

Roger Bivand Roger.Bivand at nhh.no
Mon May 23 16:08:42 CEST 2005

On Mon, 23 May 2005, Chloe ARCHINARD wrote:

> Here is in attached file the map plotted by 
> > plot(x, col="grey")
> > points(xp[is.na(res)], col="red")
> > points(xp[!is.na(res)], col="blue")
> It seems to be OK! When I use krige.conv to make kriging, in fact it
> makes prediction only inside each polygon cell. I explain me, it make
> one prediction per cell and the result of kriging is a mosaic of colors
> and not a map with gradients. I can't use contour() and I use :

> Plot(x,y,kc$predict) #x,y are coordinates for xx

> (If it is not clear I can send you the maps.) but thank you for your
> help, I will try something else.

The attachment is unfortunately in *.emf format, which can only be opened 
on Windows. A PNG graphic would have been enough, I think.

As far as your data are concerned, I think another possibility is to 
respect the fact that the rings were actually an incomplete grid. I guess 
that the prediction locations are the centroids of the grid cells. These 
suit the "sp" package class of SpatialPixels very well:

> shapefile <- read.shape("xdf.shp")
Shapefile Type: Polygon   # of Shapes: 4 
> x <- as.SpatialRings.Shapes(shapefile$Shapes, IDs=1:length(shapefile$Shapes))
> pts <- getSRSringsLabptSlots(x)
> pts
     [,1] [,2]
[1,]  1.5  0.5
[2,]  0.5  1.5
[3,]  2.5  1.5
[4,]  1.5  2.5

> check.locations(pts)
     [,1] [,2]
[1,]  1.5  0.5
[2,]  0.5  1.5
[3,]  2.5  1.5
[4,]  1.5  2.5

Make your prediction:

> kr.out <- krige.conv(..., locations=pts, ...)

Then use the "sp" magic to attach the points (which are regularly spaced) 
to the predictions:

res <- SpatialPixelsDataFrame(SpatialPoints(pts), list(z=kr.out$predict, 

should work. Try print(res) to confirm that it is a 
SpatialPixelsDataFrame. Then spplot(res, "z") will plot the predictions - 
the help page for spplot shows how to set the breaks and colour palette. 
This avoids the overlay step, and will work provided the points are spaced 
as a (rectangular) grid, even though many grid cells are missing.

If you want to share graphics, PNG - device png() - are much smaller. If 
you can put them on a web server, that's even better.

Hope this helps,


> Chloé 

Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no

More information about the R-sig-Geo mailing list