krige.prev {prevR}R Documentation

Réalise des interpolations spatiales par krigeage et/ou selon une pondération inverse à la distance.

Description

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é.

Usage

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, ...)

Arguments

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.

Details

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.

Value

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.

Warning

Le temps de calcul de cette fonction peut prendre plusieurs minutes selon la puissance de votre machine. Soyez donc patient.

Note

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’).

See Also

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.

Examples

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)


[Package prevR version 1.11 Index]