La consulta en Postgis es asi
drop view if exists test; create view test as select yr,ms,sum prec,st_X(geom) x,st_y(geom) y from (select station,yr,ms,sum(prec) from (select station,extract(year from fecha) yr,extract(month from fecha) ms,prec from cna.prec) ss group by yr,ms,station) s, cna.coordinates c where c.station=s.station order by yr,ms,c.station;
rm(list = ls())
library("kriging")
library(RODBC)
con <- odbcConnect("clima")
d <- sqlQuery(con, "select * from test")
str(d)
## 'data.frame': 85018 obs. of 5 variables:
## $ yr : int 1922 1922 1922 1922 1922 1922 1922 1922 1922 1922 ...
## $ ms : int 1 2 2 3 3 4 4 5 5 6 ...
## $ prec: num 0 0 0 10.1 0 9.5 1.9 31.8 13.2 43.8 ...
## $ x : num -93.1 -92.1 -93.1 -92.1 -93.1 ...
## $ y : num 16.8 16.9 16.8 16.9 16.8 ...
library(maps)
library(mapdata)
for (i in 2000:2010) {
for (n in 1:12) {
dd <- d[d$yr == i & d$ms == n, ]
kriged <- kriging(dd$x, dd$y, dd$prec, pixels = 30)
image(kriged, xlim = extendrange(dd$x), ylim = extendrange(dd$y), main = paste(i,
n), col = terrain.colors(100)[100:1])
points(dd$x, dd$y)
map(add = T)
}
}
Luego lo que hay que hacer es extraer grupos de punto para tener una serie de tiempo robusto.