krige.prev {prevR} | R Documentation |
Cette fonction met en forme les données contenues dans un data.frame et permet de réaliser des interpolations spatiales sur une grille régulière en ayant recours aux fonctions du package gstat. Elle permet également de guider l'utilisateur pas à pas pour choisir le modèle de variogramme utilisé.
krige.prev( data, formula = est.prevalence ~ 1, locations = ~x + y, type = "ask", boundary = NULL, cell.size = 0.05, ask.cell.size = TRUE, lang = "en", model = vgm(1, "Exp", 1), idp = 2, show.variogram = TRUE, ...)
data |
data.frame. Chaque ligne doit correspondre à une observation ponctuelle. ATTENTION : deux observations ne peuvent avoir les mêmes coordonnées. |
formula |
formula or formulae list. Formule ou liste de formules spécifiant les interpolations à réaliser. Chaque formule définit la variable dépendante comme un modèle linéaire de variables indépendantes. Pour un krigeage ordinaire ou une interpolation selon l'inverse de la distance, utilisez une formule du type z~1 . Voir krige pour plus de détails. |
locations |
formula. Spécifie sous la forme d'une formule les colonnes de data correspondant aux coordonnées géographiques des observations. Si, par exemple, la longitude correspond à la colonne x et la latitude à la colonne y , entrez ~x+y . |
type |
character. Peut prendre les valeurs ask, auto, model ou idw. Voir les détails. |
boundary |
data.frame. Optionnel. Frontières de la zone géographique étudiée, sous la forme d'une série de points dessinant un polygone fermé. Les coordonnées des points doivent être inscrites dans des colonnes ayant les mêmes noms que ceux définis dans locations ou bien nommées x et y. Les unités doivent évidemment être identiques. |
cell.size |
numeric. Permet de définir la taille de chaque cellule de la grille sur laquelle l'interpolation spatiale sera réalisée. S'exprime dans la même unité que celle utilisée pour les coordonnées des points de data . |
ask.cell.size |
logical. Si TRUE , calcule et affiche la taille de la grille engendrée par la valeur de cell.size et permet à l'utilisateur de modifier cette dernière. |
lang |
character. Permet de choisir la langue des messages utilisateur. fr pour le français, en pour l'anglais. |
model |
object or list of objects of class variogramModel . Typiquement un résultat de la fonction vgm . S'il s'agit d'une liste de modèles de variogramme, elle doit avoir la même longueur que formula . Pour générer cette liste, ayez recours à la fonction list . Le recours à la fonction c provoquerait une erreur. Les différents types de modèles de variogrammes peuvent être visualisés à l'aide de la fonction show.vgms .
Non requis si type = 'idw' . Voir les détails. |
idp |
numeric or numeric vector. Requis uniquement si type = 'idw' . Spécifie la puissance de la pondération selon l'inverse de la distance. Voir idw . S'il s'agit d'un vecteur, il doit avoir la même longueur que formula . |
show.variogram |
logical. Indique si les graphiques des variogrammes empiriques et des modèles utilisés doivent être affichés à la fin du calcul. Voir les exemples. Sans effet si type = 'idw' . |
... |
Autres arguments passés à chaque appel de krige ou d'idw selon le cas. Permet de réaliser des interpolations locales et/ou par blocs. Voir la documentation de ces fonctions. |
Si type='model'
, une interpolation spatiale par krigeage est réalisée pour chaque élément de formula
en utilisant le même modèle de variogramme pour tous si un seul modèle est fourni dans model
. Utilise chaque modèle respectivement s'il s'agit d'une liste de modèles de variogrammes.
Si type='auto'
, les interpolations spatiales par krigeage sont réalisées pour chaque élément de formula
en utilisant les modèles obtenus par la fonction fit.variogram
qui permet d'ajuster un modèle de variogramme à un variogramme expérimental. Les valeurs de model
sont passées à fit.variogram
et servent de valeurs de départ pour l'ajustement. Pour plus de détails, voir l'aide de cette fonction.
Si type='ask'
, pour chaque élément de formula
, un modèle ajusté est calculé à partir du variogramme expérimental, model
servant de valeurs de départ. Le variogramme expérimental et le modèle ajusté sont ensuite représentés graphiquement. Une invite utilisateur permet d'accepter le modèle ajusté ou bien d'effectuer un ajustement manuel du modèle. Voir le tutoriel de prevR (‘tutoriel.prevR.pdf’) pour des exemples.
Si type='idw'
, une interpolation spatiale par pondération selon l'inverse de la distance est réalisée pour chaque élément de formula
, les valeurs de idp
étant passées à la fonction idw
.
Objet de la classe SpatialPixelsDataFrame
.
Pour chaque variable interpolée, deux variables sont produites : la prédiction de l'interpolation et la variance de cette prédiction (krigeage uniquement). Elles portent le nom de la variable suivi respectivement des suffixes .pred et .var.
Si boundary
a été spécifié, les limites de la grille des résultats correspondent aux limites de la frontière et les points situés en-dehors du polygone défini par boundary
sont attribués d'une valeur manquante NA
. Sinon, les limites de la grille correspondent aux coordonnées limites des points contenus dans data
.
Le temps de calcul de cette fonction peut prendre plusieurs minutes selon la puissance de votre machine. Soyez donc patient.
Les résultats de cette fonction peuvent être cartographiés à l'aide la fonction spplot
et exportés au format asc pour importation dans un logiciel de cartographie à l'aide de la fonction write.asciigrid
.Voir les exemples.
Pour plus de détails, notamment sur l'utilisation de la fonction lorsque type='ask'
et le choix d'un modèle de variogramme, voir le tutoriel de prevR (‘tutoriel.prevR.pdf’).
krige
pour les détails concernant le krigeage, idw
pour l'interpolation selon l'inverse de la distance, write.asciigrid
pour l'exportation des résultats, spplot
pour représenter graphiquement les résultats, vgm
pour spécifier un modèle de variogramme, show.vgms
pour afficher les différents types de modèles de variogrammes et extract.col
pour extraire certaines colonnes.
data(alicante) ## Krigeage show.vgms() alicante.krige <- krige.prev(alicante.prev, boundary=alicante.bounds, formula=c(est.prevalence.N100.RInf.U0~1, est.prevalence.N250.RInf.U0~1, est.prevalence.N250.R128.U0~1, est.prevalence.N250.R128.U6~1, circle.radius.N250.R128.U6~1, quality.indicator.N250.R128.U6~1), model=list(vgm(53.58,'Exp',0.56), vgm(48.97,'Exp',1.06), vgm(49.19,'Exp',1.07), vgm(42.47,'Exp',0.58), vgm(1056,'Exp',0.89), vgm(150000,'Exp',2.1)), type='model', ask.cell.size=FALSE, cell.size=0.075, show.variogram=FALSE) ## Représentation graphique spplot(extract.col(alicante.krige)) spplot(alicante.krige, zcol = c('est.prevalence.N100.RInf.U0.pred', 'est.prevalence.N250.RInf.U0.pred', 'est.prevalence.N250.R128.U0.pred', 'est.prevalence.N250.R128.U6.pred'), col.regions=prevR.colors.red(21), cuts=20, main='Estimated prevalence with several parameters') x11() spplot(alicante.krige, zcol = 'circle.radius.N250.R128.U6.pred', col.regions=prevR.colors.blue(21), cuts=20, main='Radius of circles - N=250 R=128 U=6') x11() spplot(alicante.krige, zcol = 'quality.indicator.N250.R128.U6.pred', col.regions=prevR.colors.green.inverse(21), cuts=20, main='Quality indicator - N=250 R=128 U=6') ## Exportation au format asc ## Not run: write.asciigrid(alicante.krige, 'alicante-krige.asc') ## End(Not run)