[R] Cokriging

Jon Olav Skoien jon.skoien at jrc.ec.europa.eu
Tue Mar 19 14:40:02 CET 2013


Nishani,
we do not have access to your data, but I guess the problem is the size 
of the observation data set. I think the default of predict.gstat is to 
create one covariance matrix between all observation locations, which 
would be a 50,000*50,000 matrix in your case. The alternative is to do 
kriging in a local neighbourhood, with the argument nmax, eg. equal to 
20 (or maybe larger if the size of blocks is large compared to the 
distance between observations.

Just as a note, you define the projection of your data to be epsg:28992. 
This is a Dutch projection used for the meuse data in the examples of 
gstat and automap, but is most likely not the projection if you are 
using data from Australia (your email address). Try to find the correct 
projection of your data or leave it empty if you are sure that both 
observation data and the grid is in the same projection (and not lat-long).

Best wishes,
Jon

BTW, you are more likely to get quicker response to questions like this 
on the mailinglist r-sig-geo.


On 19-Mar-13 2:03, Gnai Nishani Musafer wrote:
> Dear All,
>
> I run following code to estimate the blocks using cokriging ( my data set has more than 50,000 data points).  All the things run finely but  Once I run the predict.gstat function it gave the error message - "memory.c", line 58: can't allocate memory in function m_get(). I run this code on LINUX sever but result is same. Would any one please be able to give a solution for this? Any advice regarding this highly appreciated.
>
> Note: same error message gave when I was using krige function  . Then I changed the code and add a loop to estimate the one by one. It worked. But this technique not work for cokiriging it gives the same error message.
>
> require(gstat)
> require(automap)
> data_c <- read.csv("cu_s_data.csv", header=T)
> grid<- read.csv("grid.csv", header=T)
>
>
> coordinates(data_c) <- ~X+Y+Z
> coordinates(grid) <- ~x+y+z
> proj4string(grid)=CRS("+init=epsg:28992")
> proj4string(data_c)=CRS("+init=epsg:28992")
> g <- gstat(id = "Cu", formula =Cu~1,data = data_c)
> g <- gstat(g, id = "S", formula = S~1,data =data_c)
> g <- gstat(g, id = c("Cu", "S"), model = vgm(cov(data_c$Cu,data_c$S) , "Sph", 200, 0))
> g<fit.lmc(variogram(g),g,model=vgm(psill=cov(data_c$Cu,data_c$S),model="Sph",range=200,nugget=0))
> k.c <- predict.gstat(g, grid,block = c(30,30,15))
>
>
> Thanks and Regards,
> Nishani Musafer
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.


-- 
Jon Olav Skøien
Joint Research Centre - European Commission
Institute for Environment and Sustainability (IES)
Land Resource Management Unit

Via Fermi 2749, TP 440,  I-21027 Ispra (VA), ITALY

jon.skoien at jrc.ec.europa.eu
Tel:  +39 0332 789206

Disclaimer: Views expressed in this email are those of the individual and do not necessarily represent official views of the European Commission.



More information about the R-help mailing list