[R-sig-Geo] kriging inside borders
Roger Bivand
Roger.Bivand at nhh.no
Fri May 20 17:51:32 CEST 2005
On Fri, 20 May 2005, Chloe ARCHINARD wrote:
> My exact commands are :
> library(maptools)
> shapefile=read.shape('my.shp')
> x=Map2poly(shapefile)
>
> and the length is :
> length(mappolys)
> [1] 615
OK. So what I think you have is a grid of cells, possibly with cells
missing around the edges and maybe in the middle too. The splancs polygon
cannot have holes, by the way. I think that what you could do is to choose
the locations= values you need within the polygon grid first, and not use
borders=. I've tried to replicate your situation, and have made a
shapefile with rectangular grid cells with uneven edges and a hole. Then I
did:
library(sp)
library(maptools)
shapefile <- read.shape("<your file>.shp")
x <- as.SpatialRings.Shapes(shapefile$Shapes, IDs=1:length(shapefile$Shapes))
xp <- SpatialPoints(cbind(runif(50, 0, 3), runif(50, 0, 3)))
# here you do xp <- SpatialPoints(<your location points matrix>)
res <- overlay(x, xp)
# overlay() sets the value of res to the ID of the polygon the point falls
# in, or to NA if the point does not fall in any polygon.
plot(x, col="grey")
points(xp[is.na(res)], col="red")
points(xp[!is.na(res)], col="blue")
and you can choose the points for the prediction locations as:
<my prediction locations> <- xp[!is.na(res)]
Please check on the plot to see if overlay divides up the points correctly
first, just to be sure. If this works, it is will be a nice example of how
the coordination of spatial data functions in the "sp" package can make
things easier (if not, any reports on difficulties with "sp" are always
welcome).
Roger
> But i'm not sure that it's the good polylist object i need because it's
> a polygon grid in fact.
> Thank you for your help
> Chloé
> -----Message d'origine-----
> De : Roger Bivand [mailto:Roger.Bivand at nhh.no]
> Envoyé : jeudi 19 mai 2005 19:07
> À : Chloe ARCHINARD
> Cc : r-sig-geo at stat.math.ethz.ch
> Objet : Re: [R-sig-Geo] kriging inside borders
>
> On Thu, 19 May 2005, Chloe ARCHINARD wrote:
>
>
> > Hello, I'm using geoR package to compute kriging with the function
>
> > krige.conv() and I used maptools (read.shape () + Map2poly () ) and
>
> > splancs (borders) packages to include a object of class polylist for the
>
> > attribute borders.
>
>
> > But I've got this message of error when 'borders' is in krige.conv () :
>
> > krige.conv: there are no prediction locations inside the borders. My
>
> > polylist is not good? The coordinates seam to be OK when I draw a map
>
> > with this polylist object. And if I use 'borders' in the contour
>
> > function : message error is :
>
>
> > Error in as.data.frame.default(borders) : can't coerce class "polylist"
>
> > into a data.frame
>
>
> Firstly, it does help if the exact commands are given, rather than your
>
> choice of them. I think the main issue here is that a polylist object is a
>
> list of matrices with attributes, not a matrix. If your polylist object
>
> is:
>
>
> x <- Map2poly(read.shape("my.shp"))
>
>
> what is length(x)? If it is 1, you may be able to say x[[1]] to extract
>
> the first matrix in the list, but even then it may not work. If you can
>
> show us the commands you are giving, and the length of your polylist
>
> object, it should be possible to find something that works.
>
>
>
> > If someone could help me, thanks a lot!
>
>
> > Chloé Archinard
>
> >
>
> >
>
>
> --
>
> 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
>
>
>
> --
> passerelle antivirus du campus CNRS de Montpellier
> --
>
>
>
>
--
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