Probleme Krigeage etape finale

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

amelie bertolini
Messages : 1
Enregistré le : 10 Jan 2013, 12:35

Probleme Krigeage etape finale

Messagepar amelie bertolini » 10 Jan 2013, 13:38

Bonjour,
je souhaite faire un Krigeage ordinaire sous R.
j'ai créer ma grille à partir d'un vecteur du contour de ma région.

Code : Tout sélectionner

#import area border from ESRI shape file
border<-readOGR(dsn="D:/00-New architecture/2-RELEPA/9-Analyses/Krigeage","border")
proj4string(border)=CRS("+init=epsg:2154")
str(border)

#Let's first create a prediction grid for the interpolation, starting from the shape file
vals <- border@bbox
deltaLong <- as.integer((vals[1,2] - vals[1,1]) + 1.5)
deltaLat <- as.integer((vals[2,2] - vals[2,1]) + 1.5)
gridRes <-0.01  #change this value to change the grid size (in metres)
gridSizeX <- deltaLong / gridRes
gridSizeY <- deltaLat / gridRes
grd <- GridTopology(vals[,1],c(gridRes,gridRes),c(gridSizeX,gridSizeY))
pts <- SpatialPoints(coordinates(grd))
pts1 <- SpatialPixelsDataFrame(as.data.frame(pts), data=as.data.frame(rep(1,nrow(as.data.frame(pts)))))
Overlay=overlay(pts1,border)
pts1$border=Overlay
nona<-na.exclude(as.data.frame(pts1))
coordinates(nona)<-~x+y
gridded(nona) <- TRUE
proj4string(nona)=CRS("+init=epsg:2154")  #remeber to set the coordinate system also for the prediction grid
writeAsciiGrid(nona,"prediction_grid.asc")

org_mat<-read.asciigrid("prediction_grid.asc")
proj4string(org_mat)=CRS("+init=epsg:2154")

jusque là ça va, qand j'affiche le plot ça correspond.
Ensuite j'ai fait mon variogramme de la manière suivante :

Code : Tout sélectionner

#Fitting the variogram
#first plot the variogram
vgm<-variogram(IND~1,data)
vgm
plot(vgm,type="o",pch=3)
#then, create a variogram model which is better(2)
mod2<-vgm(psill=var(data$IND),model="Exp",range=90000,nugget=0) #From Spatial-analyst.net
fit2<-fit.variogram(vgm,mod2)
plot(vgm,fit2,main="Model Exp",type="p",pch=10)## ok


pas d'erreur dans R jusque là.

par contre la suite me pose problème lorsque que je veux kriger mes résultats ma carte est unicolor comme si les prédiction étaient toutes identiques...

quand je lance le krigeage avec cette manip :

Code : Tout sélectionner

map<-krige(IND~1,data,nona,model=fit2)
spplot(map,"var1.pred",col.regions=heat.colors(50))

aucune erreur n'apparait sur la console R, mais c'est là que j'obtiens une carte unicolor.

Image

est ce que quelqu'un sait d'où cela peut provenir ? (si besoin d'info supplémentaire sur la forme de mes données n’hésitez pas.

mes valeurs predites sont toutes identiques, et je ne vois pas dans mon script ce qui donne ce résultats.

Merci d'avance pour vos réponses et votre interet porter à ma question.

je n'ai pas réussi à trouver quelqu'un ayant eu le même problème.
Et meilleurs voeux à tous !
Amelie

Armel Soubeiga
Messages : 12
Enregistré le : 30 Juin 2016, 09:17

Re: Probleme Krigeage etape finale

Messagepar Armel Soubeiga » 13 Juil 2016, 14:25

Bonsoir,
s'il moi je n'ai pas de solution au problème pose mais au contraire j'ai le même problème.
Chez je n'arrive même pas à faire le krigeage dans le contour de ma carte.je me suis inspire sur tes scripts mais je n'arrive toujours pas.
S'il vous plait aide-moi

#import de la borduire
border<-readShapeLines("E:\\CORRECT_BOBO\\contour_nouv_lim.shp")
proj4string(border)<-CRS("+init=epsg:28992")

Ensuite, j'ai essayé de faire la grille exactement

vals <- border@bbox
deltaLong <- as.integer((vals[1,2] - vals[1,1]) + 1000)
deltaLat <- as.integer((vals[2,2] - vals[2,1]) + 1000)
gridRes <-100
gridSizeX <- deltaLong / gridRes
gridSizeY <- deltaLat / gridRes
grd <- GridTopology(vals[,1],c(gridRes,gridRes),c(gridSizeX,gridSizeY)

Mai pour la suite je ne sais plus quoi faire...

j'ai fait aussi le variogramme

base<-read.table("C:\\Users\\Armel soubeiga\\Desktop\\base\\Base1.csv",sep=";",header=TRUE)
coordinates(base) <- ~X+Y
pop.vgm<- gstat::variogram(pop~ 1 , base, cutoff=10000)
plot(pop.vgm)

#Ajustement du modele
pop.fit<- gstat::fit.variogram(pop.vgm,vgm("Sph"))
pop.fit
plot(pop.vgm, pop.fit)

Mais comment faire le krigeage pour que ça soit dans le contour de ma carte??

Armel Soubeiga
Messages : 12
Enregistré le : 30 Juin 2016, 09:17

Re: Probleme Krigeage etape finale

Messagepar Armel Soubeiga » 13 Oct 2016, 09:24

slt,
Il faudra revoir la définition de ton modèle (mode2). Essai en premier lieu avec un modèle "EXP" définie par défaut. sans définir la portée, l'effet pipite et le pallier par toi même.

Armel Soubeiga
Messages : 12
Enregistré le : 30 Juin 2016, 09:17

Re: Probleme Krigeage etape finale

Messagepar Armel Soubeiga » 13 Oct 2016, 09:28

Essai tout simplement :

Code : Tout sélectionner

mod2<-vgm("Exp")


Dans ce cas le logiciel en fonction de tes donnés défini un variogramme avec un modèle exponentiel par defaut.

Armel Soubeiga
Messages : 12
Enregistré le : 30 Juin 2016, 09:17

Re: Probleme Krigeage etape finale

Messagepar Armel Soubeiga » 13 Oct 2016, 09:35

Si cela ne donne toujours pas. J'ai remarque qu'au niveau de

Code : Tout sélectionner

vgm<-variogram(IND~1,data)
vgm

Tu n'as pas précise la distance maximale entre deux sites au-delà de laquelle le variogramme n’est plus calculé (Cutoff). Elle correspond à la distance maximale qu’on puisse observe entre les couples des sites échantillonnés. Plus cette distance plus le krigeage est unicolor. E par defaut le logiciel R affect 1 (m ou Km) en fonction de tes données.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron