Krigeage de blocs spatio-temporels avec le package R gstat?


9

Dans la documentation de spj'ai vu que l' coordsargument de la SpatialPolygonsfonction n'accepte que 2 colonnes. N'est-il pas possible de créer des polygones tridimensionnels? Je fais du krigeage spatio-temporel en utilisant le package gstaten ajoutant le temps comme troisième dimension spatiale de a SpatialPointsDataFrame. Je voudrais étendre cela pour bloquer le krigeage avec des polygones comme blocs. Y'a-t'il un quelconque moyen d'y arriver?

Réponses:


5

Dans sp, SpatialPoints*, SpatialPixels*et SpatialGrid*(avec *omis ou remplacé par DataFrame) suportent plus de 2 dimensions spatiales, comme OP a fait, mais SpatialPolygons*et SpatialLines*ne le font pas. Avec, gstatvous pouvez faire du krigeage de blocs en 3D avec des blocs en 3D (en utilisant block = c(10,10,10)), mais vous ne pouvez pas le faire pour des blocs non rectangulaires, comme OP le souhaite. Il est tout à fait correct de substituer le temps à la troisième dimension, mais vous êtes contraint au variogramme métrique ST.

library(gstat)
vignette("st")

vous donne plus d'options pour les modèles de variogramme, mais pas pour prédire les valeurs moyennes des blocs (c'est FYI, pas une réponse à la question).

La seule réponse à la question serait de faire des simulations conditionnelles 3D et d'agréger des valeurs ponctuelles sur vos blocs arbitraires 3D (polygone 2D + étendue temporelle). Fastidieux, mais possible; également uniquement le long du chemin 3D, pas le long du chemin décrit dans la vignette ST ( krigeSTne fait pas encore de simulation!).


3

Vous avez vraiment besoin de faire un peu plus de recherche sur votre méthodologie et de lire la documentation pour comprendre la structure des objets de classe sp S4 et l'interaction des objets sp avec les fonctions gstat pertinentes. La vignette sp contient une explication détaillée de la différence entre les objets SpatialPolygons (uniquement la topologie de polygone) et SpatialPolygonDataFrame (polygones avec attributs).

Ce que vous expliquez n'est pas bloquer le krigeage et utiliser le temps comme attribut ne donne pas lieu à une estimation spatio-temporelle. La méthodologie conceptuelle que vous décrivez est tout à fait invalide. L'utilisation de polygones ou de centroïdes de polygones viole les hypothèses de krigeage d'un champ aléatoire uniforme, de l'anisotropie et de la non-stationnarité.

Voici une belle vignette gstat sur les modèles spatio-temporels utilisant l'interface avec le paquet d'espace-temps. Je dois également noter que le package constrainedKriging peut conduire le Kriging de blocs sur des blocs de forme arbitraire en utilisant une fonction moyenne non stationnaire et un variogramme isotrope faiblement stationnaire.

Cela dit, pour répondre à votre question, vous pouvez passer un objet sp SpatialPointsDataFrame directement à un modèle de variogramme / Krigeage dans gstat. Dans ce type d'objet sp, les attributs résident dans le slot "data" et sont déjà attachés aux coordonnées via la structure interne de la classe S4.

# COERCE meuse DATAFRAME TO sp SpatialPointsDataFrame OBJECT
require(gstat)
data(meuse)
coordinates(meuse) <- ~ x + y
head(meuse@data)

# CREATE SEMIVARIOGRAM USING THE zinc ATTRIBUTE
# NOTE: THERE IS NO ARGUMENT FOR A "4th DIM"
v <- variogram(log(zinc) ~ 1, meuse)
plot(v, type = "l")

0

Le temps serait une quatrième dimension, le niveau z ou la hauteur serait la troisième, les boîtes ou les dems ou les niveaux z géreraient la hauteur en gis, le temps pourrait être représenté par une base de données versionnée. vous pouvez mapper le polygone sur un étain ou couper avec un dem ou associer une colonne az aux colonnes xy représentant les points de forme du polygone. Peut-être pourriez-vous également ajouter un champ temporel avec une plage de valeurs et de changements de valeur dans le temps, incrémentés sous forme de colonnes. Bien sûr, ESRI a probablement un outil pour cela.


Je ne pense pas que l'analyste géostatistique supporte le krigeage spatio-temporel.
Paul Hiemstra
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.