6 votos

Cómo hacer un bucle para interpolar una enorme precipitación series de tiempo en SIG de la hierba o R

En GRASS GIS tengo acceso a una tabla en la Base de datos PostgreSQL con esta estructura:

Nombre de la tabla: rainfall_time_series

Columnas: id | año | mes | día | value_mm | x | y | gauge_code

Configuración g.la región de la Cuenca límites, necesito crear para cada día uno se interpolan la trama, en representación de la lluvia. Este momento de la serie es muy grande, tiene 17 años, mi pregunta es: es posible hacer esta operación con un bucle? es probablemente más fácil en R, pero yo soy novato en este software.

Gracias de antemano

4voto

2voto

Richard C. McGuire Puntos 3345

Hacer esto en R se requiere una serie de bloques de construcción:

  • Una función que extrae los únicos días de presencia en la base de datos.
  • Una función que extrae los datos de un día a partir de la base de datos en data.frame. Luego puede transformar esta a un SpatialPoints objeto (ver sp paquete de documentación.
  • Una función que interpola los datos, y devuelve un interpolados cuadrícula para cada día. Esto se puede hacer utilizando una serie de métodos de interpolación, por ejemplo, de la automap/gstat paquete, el fields paquete, etc. Para una lista más exhaustiva me refiero a la CRAN vista de Tareas para los datos Espaciales.

Una vez que tenga estos bloques, el siguiente pseudo código de vínculos de ellos juntos:

unique_days = get_unique_days()
dat_list = lapply(unique_days, get_data_from_database) 
interpolated_maps = lapply(dat_list, interpolate_daily_data)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X