Skip to Content

GRASS GIS pas à pas pour les débutants: 9 - les modules d'interpolation spatiale: algorithmes avec pondération, inverse de la distance (IDW) et Krigeage géostatistique

Niveau Débutant
Logiciels utilisés GRASS GIS
Plateforme Windows | Mac | Linux | FreeBSD

Les deux méthodes suivantes sont basées sur des algorithmes de moyennes pondérées et sur l'hypothèse que les valeurs proches contribuent davantage aux valeurs interpolées que les valeurs lointaines. Avec la pondération inverse de la distance, la fonction de pondération est choisie à priori, ce qui n'est pas le cas du Krigeage qui utilise des moyens géostatistiques beaucoup plus élaborés pour la déduire.

Mais le Krigeage est aussi une méthode d'interpolation de type spline que j'aurai donc aussi pu placer dans GRASS GIS pas à pas pour les débutants: 10- les modules d'interpolation spatiale: les splines (RST)

La couche test sur laquelle les modules seront appliqués a été présentée dans la partie 7  de même que les rappels:

n'oubliez pas de lire l'aide (onglet Manual) pour comprendre les options (onglets Optionals, Settings ou Parameters) de chaque interface présentée.

  = couches vectorielles points et lignes

  = couches rasters « points» et « lignes»

= couches vectorielles points et lignes 3D

pondération inverse de la distance (IDW)

C'est une technique dont il importe de connaître les principes avant de l'appliquer sous peine de grandes surprises...

Il y a 2 paramètres qui entrent en jeu:

  • le rayon de recherche qui permet de contrôler le nombre de points utilisés pour calculer la valeur d'un point de la grille résultante: s'il est trop faible, au lieu d'avoir des reliefs continus, on se retrouve avec des pics isolés;

  • une puissance d'influence des points sur leurs voisins: plus un point est proche du centre de la cellule en cours d'analyse, plus il a d'influence sur la procédure de calcul de la moyenne.

La surface résultante peut dès lors fortement varier en fonction de ces 2 critères:

« Pour bien se représenter le fonctionnement de cet algorithme, il faut s'imaginer une toile de tissu posée sur des pics, représentant les points et leurs valeurs. Lorsque l'on tend la toile (paramètre "puissance"), la toile se tend et les points ont plus d'influence sur leurs voisins. Si la toile n'est pas assez tendue ou si le paramètre de distance et de recherche de point et mal défini, on se retrouve avec un effet chair de poule qui ne correspond pas à la réalité.» sigomatic.blogspot.com/2009/09/inverse-distance-weighting.html

Du fait de la pondération utilisée, la surface résultante ne passera pas par les points d'origine et ne dépassera la valeur maximale et de la valeur minimale de la variable utilisée.

En entrée:

Commandes:

Ce sont les modules v.surf.idw (pour les couches vectorielles) et r.surf.idw ou r.surf.idw2 (pour les couches matricielles, résultats en virgule flottante pour le deuxième)

Interfaces:

v.surf.idw                                                                        r.surf.idw ou r.surf.idw2

Ces modules disposent des options qu'il est nécessaire de bien comprendre (Number of interpolation Points = rayon de recherche ou nombre de points utilisés pour calculer la moyenne pondérée, Power = puissance d'influence)

options de v.surf.idw

Résultats:

Il est possible de se contenter des valeurs fournies par défaut, mais rien de tel pour saisir ce que font les options que de faire varier les paramètres: 

  • variation du rayon de recherche (nombre de points) avec les 3 modules qui donnent ici des résultats similaires:

  • variation du paramètre puissance (Power) avec v.surf.idw:


Conclusions

Le module v.surf.idw est le plus récent, car il se base sur des couches vectorielles (alors que r.surf.idw et r.surf.idw2 nécessitent que la couche vectorielle soit transformée en couche raster). Ces deux derniers modules offrent, en plus, la possibilité de calculer l'erreur induite en utilisant la validation croisée (cross validation). Les résultats sont cependant équivalents.

Ces modules sont surtout utiles pour:

  • une interpolation grossière d'un petit nombre de points lorsque leur nombre est supérieur à la densité des noeuds de la grille résultante.
  • l'interpolation par moyennes mobiles utilisée est aussi intéressante pour l'analyse des éléments dont la tendance générale est plus importante que la position des points eux-mêmes (géochimie, etc.)

Pour les géologues (sondages)

En limitant le rayon de recherche, ces modules donnent aussi des bons résultats:

Krigeage géostatistique

La méthode IDW ne tient pas compte de la dépendance spatiale des données. Le Krigeage est la première méthode d'interpolation spatiale à en avoir tenu compte.

C'est est une procédure géostatistique avancée. Contrairement aux autres méthodes d'interpolation, une étude minutieuse du comportement spatial du phénomène représenté par les valeurs étudiées doit être effectuée avant de sélectionner la meilleure méthode d'estimation pour la génération de la surface.

Tout comme la surface obtenue par IDW, la surface résultante ne passera pas par les points d'origine, mais elle pourra s'étendre au-delà de la valeur maximale et de la valeur minimale de la variable utilisée du fait des pondérations utilisées.

Une analyse variographique (variogrammes) est donc fondamentale pour le choix du modèle d'interpolation à appliquer aux données (linéaire, sphérique, exponentiel, cubique, gaussien,...), ce qui est rarement fait.

En pratique, deux étapes sont nécessaires:

  1. créer les variogrammes et les fonctions de covariance pour estimer l'autocorrélation spatiale des valeurs;
  2. prédire les valeurs inconnues et générer la surface.

En entrée:

Commandes:

La combinaison de GRASS GIS et de R a été formalisée dans un nouveau module standard v.krige.py ou un module disponible sur grass.osgeo.org/wiki/GRASS_AddOns, v.autokrige. Mais il est toujours nécessaire que R et certains packages géostatistiques soient installés (gstat ) et que R soit disponible en ligne de commandes ce qui pose des problèmes aux utilisateurs sur Windows. Ils permettent d'effectuer un Krigeage ordinaire.

Interfaces:

v.krige                                                                    v.autokrige

Résultats:

En pratique, tous les algorithmes de R sont disponibles de manière transparente (variogrammes, choix de l'interpolation, etc.), ce qui permet de choisir la solution la plus appropriée en toute connaissance de cause (ce qui est rarement le cas...):

analyse des variogrammes pour choisir le modèle d'interpolation à appliquer avec R

 

modèle linéaire                                                        variance de Krigeage

  • Exemples d'autres modèles:


modèle gaussien                                                                     modèle sphérique

Conclusions

L'efficacité de Krigeage dépend donc de la spécification correcte de plusieurs paramètres qui décrivent le variogramme et le modèle de la « tendance » (c'est-à-dire l'évolution de la valeur moyenne sur la distance). Malgré le fait que beaucoup de géomaticiens veulent ou utilisent le Krigeage, ce n'est pas une méthode simple. On ne se lance pas sans de solides bases en mathématiques et statistiques, à moins d'agir au petit bonheur la chance et choisir celle qui nous paraît la « meilleure » (sur quels critères, la plus « belle » , celle qui s'approche le plus de ce qu'on voulait avant de commencer le traitement ?). J'ai l'impression, malheureusement, que beaucoup de Sigistes procèdent de cette manière qui est tout, sauf scientifique. Il vaudrait mieux, dans la plupart des cas, procéder avec les autres méthodes.

Tous les traitements ont été effectués sur Mac OS X avec GRASS GIS 6.4.1 ou  6.4.2  et Inkscape pour les figures.

Site officiel : GRASS GIS
Autres Liens : GRASS GIS pas à pas pour les débutants: 7 - les modules d'interpolation spatiale: introduction, passage d'une couche vectorielle à une couche matricielle (v.to.rast) et d'une couche vectorielle 2D à une d'une couche vectorielle 3D (v.to.3D, v.drape)
Autres Liens : GRASS GIS pas à pas pour les débutants: 8 - les modules d'interpolation spatiale: partitionnement de l'espace, Delaunay (TIN), polygones de Voronoï, algorithmes des plus proches voisins
Autres Liens : GRASS GIS pas à pas pour les débutants: 10- les modules d'interpolation spatiale: splines régularisées avec tension (RST) et splines bilinéaires et bicubiques avec régularisation de Tykhonov
Autres Liens : GRASS GIS pas à pas pour les débutants: 11- les modules d'interpolation spatiale: traitement des isolignes (courbes de niveau,etc.) et conclusions générales


Creative Commons License
licence Creative Commons Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique Commerciale 2.0 France

Commentaires

Interpolation avec GRASS

Bonjour à tous,

Pour mon travail personnel (Stage SIG-2013), je dois utiliser le krigeage comme méthode d'interpolation. j'ai tenté d'installer R et le packages (gstat) pour disposer des lignes de commande v.krige.py et v.autokrige. Malheureusement, après installation je ne constate aucun changement dans l'environnement de GRASS qui atteste la présence de ces nouvelles lignes de commande. Je précise que j'utilise la version de GRASS 6.4.3

Je serai heureux de recevoir vos conseils et suggestion pour résoudre cette petite équation.

Installation

Bonjour

Il s'agit d'addons qu'il faut installer, dans grass / paramètres / Liste des extensions / installer une extension depuis les addons

En face de l'url, cliquer sur rapporter, puis chercher dans vector les addons concernés puis faire installer.

Installation

Bonjour Ludovic,
je vous remercie de cette réponse si importante qui m'a permis au moins de trouver les étapes complémentaires à effectuer pour l'installation des lignes de commande qui sont effectivement présentes dans les addons.
Malheureusement à ma grande surprise si je tente d'installer un message d'erreur survient, le voici:
(Sat Nov 2 21:17:16 2013)
g.extension.py extension=v.krige svnurl=http://svn.osgeo.org/grass/grass-addons/grass6
Fetching from GRASS-Addons SVN (be patient)...
Compiling...
Makefile:7: /usr/lib/grass64/include/Make/Script.make: Aucun
fichier ou dossier de ce type
make: *** Pas de règle pour fabriquer la cible «
/usr/lib/grass64/include/Make/Script.make ». Arrêt.
ERROR: Compilation failed, sorry. Please check above error messages.
(Sat Nov 2 21:17:25 2013) La commande s'est terminée (8 sec)

Bonjour Je ne sais pas sous

Bonjour

Je ne sais pas sous quel système vous êtes, mais sous linux les paquets de developpements de grass (dev ou devel) doivent être installer pour pouvoir compiler les addons.

J'espère que cela vous aidera

Installation

Bonjour,
je suis sur Ubuntu 13.04 (Raring)installé en dual boot avec Windows 7, mais GRASS ainsi que QGIS y fonctionnent parfaitement.

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.