V.1.12 - Dernière mise à jour : 23/11/2009
(avec l'autorisation du Clark Labs - exercice librement inspiré du didacticiel d'Idrisi 15 - The Andes Edition, pp. 56-68)
Objectifs : déterminer l'aptitude d'une zone par requêtes multicritères
Fonctions décrites dans ce TD : RECLASS, ASSIGN, Edit, OVERLAY, AREA, GROUP, EXTRACT, Macro Modeler, Image Calculator
Dans cet exercice nous allons étudier une opération de base pour tout SIG : la recherche dans la base de données. Ce type de recherche peut se traduire par deux questions. La première est spatiale :
- Qu'y a-t-il à cet endroit ?
La seconde est une requête par attribut :
- Quelles sont les zones qui ont cet attribut ?
L'utilisation du curseur (Cursor inquiry) est une requête spatiale. Dans un prochain exercice, nous examinerons une méthode de recherche spatiale plus élaborée (utilisant les modules EXTRACT et CROSSTAB) qui peut interroger interactivement et simultanément un groupe d'images. Dans cet exercice, nous allons réaliser des requêtes par attributs.
Dans les requêtes par attributs, il faut spécifier une condition au SIG pour qu'il délimite les régions qui répondent favorablement à cette requête. Si la condition ne concerne qu'un attribut (requête univariée), on peut utiliser les modules RECLASS ou ASSIGN. Si la condition concerne plusieurs attributs (requête multivariée), on utilisera OVERLAY en plus des modules RECLASS ou ASSIGN. On aura tout intérêt avant de démarrer cet exercice à lire la section sur les Database Query dans la chapitre Introduction to GIS dans le IDRISI Guide to GIS and Image Processing.
Si ce n'est déjà fait, copier les dossiers suivants depuis le répertoire du disque C:\
- Tutorial Idrisi\Using Idrisi
- Tutorial Idrisi\Introductory GIS
Les coller sur votre clef USB dans un répertoire nommé par exemple Exo_SIG ==> H:\Exo_SIG\
(ou à défaut dans un sous répertoire nommé Documents de Géographie à votre nom du disque D : D:\geographie\Votre_Nom\Exo_SIG\)
a) Pour paramétrer l'accès aux données, il faut faire une mise-à-jour du répertoire de travail (Working folder) :
- Sélectionner l'option IDRISI Explorer du File menu.
ou lancer le à l'aide de l'icône ci-dessous,
qui permet également le paramétrage du module Project Environnement
- l'Editor pane est affiché (sinon click droit dans le gris du menu flottant et Show Editor)
Depuis l'onglet Projects,
- Sélectionner l'emplacement du répertoire de travail (Working Folder)
Par défaut, le répertoire de travail devient :
H:\Exo_SIG\Introductory GIS
NB : bien que visible, ce projet ne sera utilisable que lorsque votre clef USB sera dans la machine.
b) Afficher (DISPLAY Launcher) le fichier raster DRELIEF.
- Choisir la palette standard d'Idrisi ;
- Cocher le titre et la légende.
Le contrastage automatique (Autoscaling) est automatiquement mis car les données DRELIEF sont des réels.
- Valider par OK.
Ce fichier contient un modèle numérique de terrain d'une région en Mauritanie le long du fleuve Sénégal. La partie située au sud du fleuve (en forme de fer à cheval) est au Sénégal et n'a pas été renseignée. Elle est dotée d'une altitude arbitraire de 10 mètres.
Tous les ans, cette région est soumise à des inondations à la saison des pluies. Cette région sahélienne est aride et les agriculteurs pratiquent quelques cultures de mil pluviales mais surtout des cultures de sorgho de décrue, en plantant après le retrait des eaux.
Un projet a été élaboré pour construire un barrage le long de la rive nord du fleuve, dans la partie nord de la courbure du fleuve. Le but est de laisser la crue pénétrer comme à son habitude mais de la retenir plus longtemps grâce au barrage. De cette manière, l'eau percolera dans le sol, accroissant la production de sorgho. Selon les enregistrements des limnigraphes, l'inondation atteint la cote des 9 mètres.
En plus du disponible en eau, la qualité des sols est importante à prendre en considération dans la culture du sorgho de décrue, en raison des capacités différentielles de sols à retenir l'humidité et en raison du différentiel de fertilité. Dans ce secteur, seuls les sols argileux sont nettement adaptés à ce type d'agriculture.
c) Afficher DSOILS.
La palette Qualitative est directement affichée.
- Contrôler que le titre et la légende sont cochés.
C'est la carte des sols de la zone d'étude.
Pour déterminer l'impact du barrage, il faut évaluer combien d'hectares de terre sont aptes aux cultures de décrue. Si la plupart des terres ont un sol impropre à cette culture le gain de production en sorgho sera minime, et il faut choisir un autre lieu de construction. En revanche, si la plupart des zones inondées contiennent des sols argileux, le projet de barrage aura un impact majeur sur la production de sorgho.
Notre objectif est de cartographier et déterminer la surface (en hectares) des régions adaptées à la culture du sorgho de décrue. C'est un classique de l'interrogation de base de données combinant plusieurs conditions.
On doit trouver toutes les zones qui sont situées :
dans la zone normale d'inondation et sur des sols argileux.
- Pour construire le modèle graphique de cette analyse, il faut spécifier le résultat final sur la droite du modèle.
fig. 1 - Le résultat à obtenir
Sources : EASTMAN 2006, p.57
BESTSORG est l'image qui donne les zones où la production de sorgho de décru sera la meilleure. Elle est obtenue en combinant les images des meilleurs sols (BESTSOIL) et des zones inondables (FLOOD).
fig. 2 - Obtention de BESTSORG
Sources : EASTMAN 2006, p.57
BESTSORG est le résultat d'une requête multicritère*, alors que FLOOD et BESTSOIL sont le résultat de requêtes monocritères.
- La meilleure façon de traiter ce problème, produire BESTSORG, est de réaliser des images booléennes* :
Les requêtes multicritères sont réalisées par l'utilisation de l'algèbre booléenne.
Les images booléennes (encore appelées images binaires ou logiques contiennent des 0 et des 1).
Dans cet exercice, on veut obtenir une image BESTSORG constituée de :
- 1 là où les sols sont :
- les plus aptes à la culture de sorgho ;
et
- inondables.
- 0 ailleurs.
Donc :
- FLOOD contient des :
1 sous la cote des 9 m ;
0 ailleurs.
- BESTSOIL contient des :
1 où il y a des argiles (clays) ;
0 ailleurs.
- L'opération logique ET (AND) est une multiplication qui donne le résultat suivant :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Pour produire FLOOD, les zones inondables de moins de 9 m, il faut utiliser le modèle numérique de terrain DRELIEF.
- Pour produire BESTSOIL, les zones argileuses, il faut utiliser la carte des sols DSOILS.
On ajoute ces étapes au modèle graphique d'analyse.
fig. 3 - Obtention de FLOOD et BESTSOIL
Sources : EASTMAN 2006, p.59
Maintenant que le modèle est complet, du résultat aux données sources, il faut remplir les "blancs" (cf. fig. 4) avec le nom des modules à utiliser.
Constitution de l'image FLOOD en isolant les pixels de l'image DRELIEF de moins de 9 m avec le module RECLASS.
d) Examiner DRELIEF à l'aide de Propriété des couches (Layer Properties).
1. Quelles sont les altitudes minimales et maximales ?
e) S'assurer que les préférences de l'utilisateur (File/User Preferences) sont paramétrées pour afficher automatiquement les traitements effectués.
- Sélectionner l'onglet Display Settings
- Choisir la palette
- qualitative => QUAL256
- quantitative => IDRIS256
- d'afficher automatiquement :
- le titre ;
- la légende.
- Valider par OK.
f) Lancer RECLASS depuis le menu :
GIS Analysis/Database Query/RECLASS
ou par l'icône ci-dessous,
- Renseigner les boîtes de dialogue comme suit :
Input file => DRELIEF
Output file => FLOOD
Pour les paramètres de reclassement (Reclass parameters) :
- 1ère ligne
Assign a new value of => 1
To values from => 0
To just less than => 9
- 2e ligne
Assign a new value of => 0
To values from => 9
To just less than => 999
- Sélectionner le bouton Save as .RCL file ...
- Indiquer FLOOD
C'est un fichier ASCII de paramètres pour le concepteur de macros (Macro Modeler)
- Sélectionner le bouton de documentation du fichier résultat (Output Documentation)
- Mettre :
- un titre ;
- booléenne comme unité (Value units).
- Valider par OK.
- Quel est l'intérêt d'avoir mis 999 comme valeur maximale à mettre à 0 ?
g) Inspection de FLOOD
- Que représente les zones à 0 ?
Constitution de l'image BESTSOIL en isolant les pixels "argileux" de l'image DSOILS avec le module ASSIGN.
h) Rechercher dans DSOILS la valeur de la classe "argile"
2. Quelle est la valeur numérique de la classe des sols argileux ?
On pourrait utiliser à nouveau RECLASS avec les paramètres suivants :
- 1ère ligne
Assign a new value of => 0
To values from => 0
To just less than => 2
- 2e ligne
Assign a new value of => 1
To values from => 2
To just less than => 2
- 3e ligne
Assign a new value of => 0
To values from => 3
To just less than => 999
Noter que dans RECLASS :
- une valeur non spécifiée reste inchangée ;
- une valeur en sortie est toujours entière (les valeurs réelles sont arrondies).
C'est la fonction ASSIGN qui va être explorée maintenant.
Noter que dans ASSIGN, contrairement à RECLASS :
- une valeur non spécifiée est transformée en 0 ;
- une valeur en entrée est toujours entière (ou en octal) ;
- il faut d'abord créer un fichier d'attributs .
i) Création du fichier attributs (Attribute values file) avec Edit depuis le menu
GIS Analysis/Database Query/Edit
ou par l'icône ci-dessous,
- Écrire les valeurs sur deux colonnes (ancienne valeur, blanc, nouvelle valeur) comme suit :
1 0
2 1
3 0
4 0
5 0
En fait comme cela a été écrit précédemment, il suffisait juste d'écrire
2 1
- Depuis le menu de la boîte de dialogue d'Edit,
Enregistrer sous ... (Save As...)
- Nom => CLAYSOIL ;
- Type => Attribute values file ( .avl).
Cliquer sur sauver
- choisir comme Data type => Integer
j) Lancer ASSIGN depuis
GIS Analysis/Database Query/ASSIGN
- Renseigner les boîtes de dialogue comme suit :
Feature definition image => DSOIL
Output image => BESTSOIL
Attribute values file => CLAYSOIL
- Valider par OK.
k) Inspection de BESTSOIL
- Que représente les zones de valeur un ?.
À ce point de l'exercice, deux images booléennes ont été créées par requêtes monocritères, FLOOD et BESTSOIL. Il faut maintenant les combiner en une requête multicritère pour déterminer les zones favorables au sorgho de décrue. C'est le module OVERLAY qui permet cette requête et un grand nombre d'opérations booléennes.
Nous avons vu l'opérateur logique ET (AND), il correspond à la multiplication (cf. FLOOD et BESTSOIL au tableau 1).
L'option "Cover" recouvrement* correspond à l'opérateur logique OU (OR).
=> L'image de sortie vaut 1 quant celles d'entrée valent 1 (l'une ou / et l'autre).
3. Pouvez-vous construire un tableau similaire au tableau 1 avec l'opérateur logique OU et suggérer une autre opération que Covert qui puisse produire le même résultat ?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GIS Analysis/Database Query/OVERLAY
ou par l'icône ci-dessous,
- Renseigner les boîtes de dialogue comme suit :
First image => FLOOD
Second image => BESTSOIL
Output file => BESTSORG
Cocher l'option d'OVERLAY => multiplication (First * Second)
- Sélectionner le bouton de documentation du fichier résultat (Output Documentation)
- Mettre :
- un titre ;
- booléenne comme unité (Value units).
- Valider par OK.
- Examiner le résultat.
- Changer la palette en QUAL256
- BESTSORG est l'intersection de quoi ?
m) Calcul de la superficie de BESTSORG
GIS Analysis/Database Query/AREA
- Renseigner les boîtes de dialogue comme suit :
Input file => BESTSORG
- Cocher comme format de sortie => Table (Tabular)
- Cocher la surface => en hectares
4. Quelle superficie inondable est sur des argiles ? Que signifie l'autre chiffre ?
Si l'on complète le modèle graphique d'analyse on obtient la figure 4.
fig. 4 - Modèle graphique d'analyse complet fournissant la surface totale du sorgho de décrue
Sources : EASTMAN 2006, p.62
La surface que l'on vient de calculer est relative à l'ensemble des zones remplissant les conditions de départ. Cependant, certaines zones sont disjointes.
- Comment faire pour calculer leur surface séparément ?
Il faut grouper les pixels contigus et leur donner un attribut différents des autres groupes. C'est la fonction GROUP qui va être utilisée.
- GROUP est conçu pour identifier et étiqueter les groupes de pixels contigus qui ont la même valeur.
GROUP :
- est un opérateur contextuel* ;
- numérote du haut vers le bas et de la gauche vers la droite.
- La contiguïté spatiale* peut être définie de deux manières :
1) le pixel appartient au groupe s'il a une frontière orthogonale commune (dessus, dessous, gauche, droite)
=> voisinage restreint
2) le pixel appartient au groupe s'il a une frontière orthogonale et / ou diagonale commune (8 directions = N, NE, E, SE, ...)
=> voisinage étendu
C'est généralement la seconde option qui est utilisée.
Le tableau 3 présente le résultat du module GROUP sur une image booléenne.
tab. 3 - Opération contextuelle sur image booléenne avec le module GROUP
|
|
| |||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Noter : les 8 groupes (identifiants 0 à 7) du module GROUP sans la diagonale et les 3 groupes (identifiants 0 à 2) avec la diagonale.
n) Lancer GROUP depuis le menu
GIS Analysis/Context Operators/GROUP
- Renseigner les boîtes de dialogue comme suit :
Input image => BESTSORG
Output image => PLOTS
- Cocher Include diagonals
- Entrer un titre
- Valider par OK.
- Examiner les identifiants des groupes avec le Curseur d'interrogation (Cursor Inquiry Mode).
- Est-ce que tous les groupes ont leur identifiant ?
Noter que : quand le groupe est petit, il est utile de cliquer sur son poste de légende pour le localiser.
5. Combien de groupes ont été constitués ?
(Ne pas oublier que le premier groupe a la valeur zéro)
- Trois de ces groupes sont des parcelles potentielles de sorgho, mais les autres sont des groupes de "fond", d'arrière plan. Avant de calculer la superficie de chaque groupe, il faut éliminer les groupes de fond en leur assignant la valeur zéro.
6. Quelle option d'OVERLAY utiliser pour produire l'image désirée ? Avec quelles images en entrée ?
o) Réaliser un OVERLAY pour produire l'image PLOTS2
- Examiner le résultat avec la palette QUAL256
p) Lancer AREA
- Renseigner les boîtes de dialogue comme suit :
Input file => PLOTS2
- Cocher comme format de sortie => Table (Tabular)
- Cocher la surface => en hectares
7. Quelle superficie de chaque parcelle potentielle de sorgho ?
Si l'on complète le modèle graphique d'analyse on obtient la figure 5.
fig. 5 - Élimination des parcelles de "fond"
Sources : EASTMAN 2006, p.64
- On peut souhaiter en savoir plus sur ces parcelles :
- altitude minimum ;
- altitude maximum ;
- altitude moyenne, ...
q) Lancer EXTRACT depuis le menu
GIS Analysis/Database Query/EXTRACT
- Renseigner les boîtes de dialogue comme suit :
Feature definition image => PLOTS2
Image to be processed => DRELIEF
- Cocher All listed summary types
Le résultat est automatiquement envoyé dans une Table (Tabular output)
8. Quelle est la hauteur moyenne de chaque parcelle potentielle de sorgho ?
Dans cet exercice, nous avons étudié l'opération de base de tout SIG, la recherche dans la base de données. Cette recherche peut être spatiale ou par attributs.
Les requêtes spatiales ont utilisées :
- le Curseur d'interrogation (Cursor Inquiry Mode) ;
- EXTRACT.
Les requêtes par attributs ont utilisées :
- RECLASS ;
- ASSIGN ;
- OVERLAY.
RECLASS et ASSIGN sont similaires. Ils permettent d'isoler sur une carte des catégories de pixels.
OVERLAY permet de combiner des requêtes sur des paires d'images.
Le concepteur de macros (Macro Modeler) est un environnement graphique qui permet de construire et faire tourner des modèles. Il ne se substitue pas au modèle graphique d'analyse vu plus haut, car il nécessite de savoir quels modules utiliser. Cependant, une fois votre modèle graphique d'analyse réalisé vous pouvez le paramétrer dans le concepteur de macros et le faire tourner. Il est toutefois conseillé de la faire tourner étape par étape pour évaluer sa pertinence.
Nous allons utiliser le concepteur de macros (Macro Modeler) pour refaire la première partie de cet exercice.
r) Lancer le concepteur de macros (Macro Modeler) depuis le menu de modélisation
Modeling/Macro Modeler
ou par l'icône ci-dessous,
s) Le modèle se construit de la gauche vers la droite comme vu sur la figure 4.
- Insérer une image raster depuis la barre de menu du Macro Modeler
Insert/Layer/Raster Layer
ou par l'icône ci-dessous,
- Choisir DRELIEF.
- Enregistrer ce modèle depuis la barre de menu du Macro Modeler
File/Save As...
sous le nom de => Exer2-2.
t) Insérer le module RECLASS depuis la barre de menu du Macro Modeler
Insert/Module/RECLASS
ou par l'icône ci-dessous,
puis sélectionner RECLASS
Cela génère automatiquement un fichier résultats de sortie (temp000)
- Avec un clic droit :
- sur le symbole du fichier de sortie
- Changer son nom en FLOOD2
- sur le symbole de RECLASS
- Examiner la boîte de paramètres de RECLASS
La plupart des modules ont une boîte paramètres identique dans le menu principale et dans le concepteur de macros. RECLASS, comme quelques autres, non. Ici on n'entre pas de séquences de reclassification, comme dans le menu principal, mais des valeurs sous la forme d'un fichier de type reclass (.rcl).
Comme montré sur la figure n° 6, à gauche sont les étiquettes et à droite les paramètres.
fig. 6 - Boite de paramètres du module RECLASS
Sources : EASTMAN 2006, p.66
- Avec un clic gauche, regarder la liste des possibilités pour les paramétrer :
- type de fichiers (File type).
=> Choisir la couche raster
- type de classifications (Classification type).
=> Choisir le mode fichier (File Mode)
- nom du fichier .RCL (Name of .RCL file).
=> Choisir FLOOD (créé précédemment avec RECLASS)
- le type de données de sortie (Output data type).
=> Choisir octal et entier (Byte/Integer)
- Valider par OK.
- Activer l'icône du connecteur dans la barre d'outils
Le curseur devient un doigt.
- Faire un cliquer-glisser de DRELIEF à RECLASS.
Le lien apparaît avec un sonal.
u) Enregistrer le modèle.
- Lancer le modèle (Run) depuis la barre de menu du Macro Modeler
ou par l'icône ci-dessous,
- Accepter que FLOOD2 soit écrasé s'il existe déjà;
- L'image FLOOD2 doit être identique à FLOOD créée précédemment
v) Continuer de construire le modèle jusqu'à ce qu'il soit comme sur la figure n° 7
- Sauver et exécuter le modèle après chaque ajout ;
- À chaque ajout de modules, les paramétrer avec un clic droit pour les ouvrir ;
- Le menu Edit ne fonctionne pas interactivement en mode macro,
mais vous avez précédemment créé le fichier de valeurs CLAYSOIL avec ASSIGN.
- Le module AREA ne produit pas de tableau en mode macro.
Il faut l'exécuter en mode interactif.
Vous arrêterez le modèle conceptuel de macros après BESTSORG pour exécuter AREA ensuite.
fig. 7 - Modèle conceptuel de la macro séquence BESTSORG
Sources : EASTMAN 2006, p.67
On retiendra que :
- un modèle sauvé peut être modifié puis exécuté instantanément ;
- c'est un enregistrement fidèle du déroulé des opérations qui permet la recherche d'erreurs.
On va continuer d'utiliser le concepteur de macros pour explorer les modules de ce didacticiel.
Pour plus d'informations sur le concepteur de macros (Macro Modeler), voir le chapitre The Idrisi Macro Modeler dans le IDRISI Guide to GIS and Image Processing Volume 1 de l'aide en ligne du logiciel.
Il est très important de comprendre la logique de reclassement et de recouvrement car elles sont à la base de la plupart des analyse SIG. Pour cela, il faut contrôler que le résultat obtenu est celui attendu. IDRISI propose de réaliser un certain nombre d'opérations à partir d'une calculette à images (Image Calculator). Cette calculette à images permet d'écrire des expressions logiques et mathématiques utilisant des constantes ou des images comme variables. Elle offre la plupart des fonctionnalités de RECLASS ou OVERLAY, comme des autres modules, à l'aide d'une boîte de dialogue.
w) Pour voir comment la création de BESTSORG peut se faire par la calculette à images, exécuter Image Calculator depuis le menu
GIS Analysis/Database Query /Image Calculator
ou par l'icône ci-dessous,
- Choisir comme type d'opération
=> expression logique (Logical Expression)
- Fichier de sortie (Output file name) => BESTCALC
On donne ici un nom différent pour le comparer à BESTSORG sans l'écraser.
- Entrer l'expression à calculer (Expression to process) en cliquant sur les différents boutons et menus déroulants.
BESTCALC = ([DRELIEF]<= 9)AND([DSOILS]=2)
- Exécuter l'expression en cliquant sur Process Expression
- Comparer le résultat avec celui de BESTSORG
Il est probablement nécessaire d'afficher BESTCALC avec la palette QUAL256 et en désactivant l'Autoscale.
Noter que :
- Il n'est pas possible de finir l'analyse avec le seul Image Calculator car il n'inclue pas les fonctions GROUP, AREA ou EXTRACT ;
- Il est plus facile d'identifier des erreurs avec le concepteur de macros, lorsque l'on ajoute et contrôle chaque étape pas à pas ;
- La calculette à images est plus rapide mais ne permet pas de voir les étapes intermédiaires. C'est pourquoi, dans la suite des exercices, les modules seront utilisés individuellement ou dans le concepteur de macros.
Vous pouvez maintenant détruire les fichiers créés lors de cet exercice. Utiliser le IDRISI Explorer sous le menu File. Ils se trouvent uniquement dans votre répertoire de travail (celui du Working directory paramétré dans votre Data path). Ne détruisez pas les fichiers originaux DSOILS et DRELIEF.
NB : les mots suivis de "*" font partie du vocabulaire géographique, donc leur définition doit être connue. Faites-vous un glossaire.