Vincent GODARD

Département de Géographie

Université de Paris 8


V.1.7 - Dernière mise à jour : 22/09/2023

Fiche Mémo n°1.5. du cours de Master 1 :

Les méthodes d'analyse multicritère :
sommation des critères (méthode WLC et OWA)

 

Objectifs : présenter les bibliothèques les plus courantes pour agréger les critères !



1.  Quelques méthodes d'agrégation

Rappel : l'essentiel des traitements en analyse multicritère (qu'on l'appelle AMC, MCE, MCDA...) se fait sur des rasters.

Les traitements multicritères sur les couches vecteurs reposent sur une approche booléenne à base d'opérateurs logiques comme l'union (OU / OR) ou l'intersection (ET / AND).

Pour les méthodes les plus courantes sur les rasters, on se référera aux développements présentés dans la fiche mémo mem12ma1.htm#3.3_Normaliser) :

Ici, ne seront détaillées que les méthodes WLC et OWA.

Dans l'approche booléenne simple tous les facteurs doivent être d'égale importance pour produire la carte finale d'aptitude. Il est peu probable que ce soit le cas, quelque soit le problème à traiter. Certains critères peuvent être très importants pour déterminer l'aptitude globale pour une zone tandis que d'autres peuvent n'avoir qu'une importance marginale.

Par rapport à l'approche booléenne, cette limite peut être contournée par la pondération des facteurs standardisés (voir la fiche mémo mem14mas.htm sur la standardisation) et leur regroupement à l'aide d'une combinaison linéaire pondérée (WLC, weighted linear combination) ou/et de la méthode OWA (Ordered Weighted Averaging), la moyenne pondérée contrôlée (ordonnée), autre méthode d'évaluation multicritère (MCE). Les coefficients de pondération attribués (voir la fiche mémo mem13mas.htm sur la méthode AHP) régissent le niveau de compensation d'un facteur par un autre.


2. La méthode WLC

Plusieurs propositions seront indiqués ci-dessous en fonction des recherches et trouvailles sur le Net !

Les données exemple sont issues de TerrSet (cf. 2-8 TerrSet Tutoriel2020). La source d'origine est celle du MassGIS.

Elles permettent des passerelles entre applications et des comparaisons de résultats !

Le jeu de données est disponible ici =>  mem14mas_data.zip.

Il n'est pas nécessaire de procéder au géoréférencement des données pour comprendre la méthode WLC par l'exemple développée ci-après, mais toutes les paramètres pour le faire sont ici : Référence spatiale des données du MassGIS.


"La combinaison linéaire pondérée (WLC, weighted linear combination), permet non seulement de conserver la connaissance quant à la progressivité (échelle continue) de l'aptitude des facteurs, mais elle donne aussi la possibilité de compenser les facteurs. Une faible valeur de l'un des facteurs pour n'importe quel emplacement peut être compensée par une forte valeur d'aptitude d'un autre facteur. La façon dont les facteurs se compensent est déterminée par un ensemble de pondérations (Factor Weights) indiquant l'importance relative de chaque facteur. En outre, cette procédure d'agrégation s'éloigne de l'extrême prudence (extreme risk aversion) de l'approche booléenne du AND ou de l'extrême prise de risque de l'approche booléenne du OR. Comme nous le verrons, la méthode WLC est une technique permettant de déterminer la position moyenne (centrale) exactement à mi-chemin entre les opérations AND (minimum) et OR (maximum), c'est-à-dire entre la prudence extrême et la prise de risque extrême." [in Exercice 2-8 (Sources :  TerrSet Tutoriel2020)].


2.1. Dans ArcGIS Pro

"Un des avantages de la méthode WLC est la possibilité de donner des poids relatifs différents à chacun des facteurs dans le processus d'agrégation. La pondération des facteurs, parfois appelés "pondération par compromis", revient à attribuer à chaque facteur un coefficient de pondération. Ces coefficients indiquent l'importance relative d'un facteur par rapport à tous les autres facteurs et contrôlent la façon dont les facteurs vont se compenser. Dans le cas de la méthode WLC, où les facteurs se compensent totalement, les facteurs ayant une aptitude élevée pour un emplacement donné peuvent compenser d'autres facteurs ayant une faible aptitude au même emplacement. Le degré par lequel un facteur peut en compenser un autre est déterminé par ce coefficient de pondération." [in Exercice 2-8 (Sources :  TerrSet Tutoriel2020)].

Mais avant cela, il faut réaliser les couches de contraintes qui, multipliées aux facteurs, annuleront l'aptitude à moins de 50 m d'un cours d'eau ou celle des postes d'occupation du sol (OdS) déjà urbanisés.

Tout ceci est possible en raison de la "compensation intégrale" de la méthode WLC !

Il faut donc y remédier par la création de fichiers contraintes.


2.1.1. Constitution des couches "contraintes"

Pour l'eau, il s'agit d'une image booléenne des 50 m protégés autour des objets "eau". Les zones qui ne doivent pas être protégées reçoivent la valeur 0 tandis que celles qui peuvent être construite reçoivent la valeur 1. Quand les contraintes sont multipliées par la carte d'aptitude, les zones soumises aux contraintes sont masquées (c'est-à-dire fixées à 0), tandis que celles qui ne sont pas soumises à des contraintes conservent leur valeur d'origine.


2.1.1.1 Contrainte "Eaux libres" (Open Water)

♦ Constituer une donnée catégorielle uniquement avec les "Eaux libres" (réservoirs, lacs, "mares"...) par reclassement avec Reclassification (Reclassify, Spatial Analyst Tools)

L'aide indique que "L'outil Reclassification vous permet de transformer vos données catégorielles selon une échelle allant de 0 à 10 (vous ne pouvez pas reclassifier les données directement selon l'échelle allant de 0 à 1 avec cet outil) ; ensuite, vous divisez les données transformées obtenues par 10 pour obtenir l'échelle de 0 à 1." (Fonctionnement de l'appartenance floue, Spatial Analyst Tools).

a) Reprendre le projet Westborough constitué à la fm14 Données catégorielles

b) Dans le menu Geoprocessing, chercher Reclassify (en français Reclassification, Spatial Analyst Tools) et choisissez les paramètres suivants :

Input raster : mcelanduse.rst

Reclass field : Value

Cliquer sur Unique pour faire afficher tous les postes d'OdS

Reclassification en suivant les indications ci-dessous :

Poste d'occupation du sol Ancienne valeur Nouvelle valeur
sans nomenclature 0 0
Cropland   1 0
Pasture   2 0
Forest   3 0
Open Undeveloped  4 0
Open Developed  5 0
Multi-Family Residential  6 0
Small Lots Residential 7 0
Med. Lots Residential 8 0
Large Lots Residential 9 0
Commercial   10 0
Industrial   11 0
Transportation   12 0
Open Water  13 1
Pensez à l'enregistrer en ".dbf"

Output raster : mceWATER

♦ Constitution d'une zone tampon (buffer) autour des "Eaux libres" pour les distances inférieures ou égales à 50m, dans le menu Geoprocessing, chercher Expand (Développer, Spatial Analyst Tools) et choisissez les paramètres suivants :

Input raster : mceWATER

Output raster : watercon

Number of cells : 3 (les pixels font 20m mais la fonction n'accepte pas de valeurs décimales comme multiplicateur. Donc on exagérera par mesure de précaution.)

Zone values : 1 (il faudra inverser plus tard.)

Puis Run

Les valeurs à "1" sont les zones en eau et à "0" pour celles qui ne le sont pas, il faut donc les permuter.

Il faut sans doute dé-sélectionner les pixels en surbrillance avec Clear (menu Map/Selection).

Éventuellement, changer la symbologie en noir et blanc pour bien voir l'opposition.


♦ Pour intervertir les codes de watercon - on veut que le "0" soit l'eau, dans le menu Geoprocessing, chercher Reclassify (Reclassement, Spatial Analyst Tools) et choisissez les paramètres suivants :

Input raster : watercon

Reclass field : value

Reclassification (utiliser les valeurs ci-dessous)

Value New
0 1
1 0
NODATA NODATA

Output Raster : watercon_final

Puis Run

Nous avons maintenant notre contrainte "Eaux libres".


2.1.1.2 Contrainte "Occupation du sol"

En plus de la contrainte juridique étudiée ci-dessus, le nouveau développement résidentiel (lotissement) sera soumis aux contraintes de l'utilisation courante du terrain ; un nouveau développement ne peut intervenir sur un terrain déjà construit.

Nous allons donc construire une image booléenne produite à partir de MCELANDUSE, telle que les zones adaptées au développement résidentiel auront la valeur 1 et les zones inaptes la valeur 0.

Pour MCELANDUSE les catégories 1 à 4 sont considérées comme aptes (valeur 1) et les catégories 5 à 13 sont soumises à des contraintes, donc inaptes (valeur 0).


♦ Pour les postes d'OdS de MCELANDUSE, dans le menu Geoprocessing, chercher Reclassify (Reclassement, Spatial Analyst Tools) et choisissez les paramètres suivants :

Input raster : mcelanduse.rst

Reclass field : value_1 (qui comporte les codes des postes d'OdS)

Reclassification (utiliser les valeurs ci-dessous).

Si vous n'arrivez pas à avoir la table ci-dessous en 3 colonnes, cliquez sur le "+", Open an Other Tool et recliquez sur Reclassify (!)

Ne pas cliquer sur "Unique" et, éventuellement, avant de renseigner "Input raster", saisissez une ligne de la table, enregistrez-là en dbf puis, réimportez-la.

Si cela ne fonctionne pas, refaire un Reclassify !

Attention, la valeur de "End" est exclue et celle de "Start" est incluse !

Start End New
1 5 1
5 14 0
NODATA NODATA NODATA

Output Raster : landusecon

Puis Run

Nous avons maintenant notre contrainte "ODS".


2.1.2 Pondération des facteurs et application des contraintes

Il est possible de recourir à deux outils, au moins :

Les deux se valent, c'est une question de goût !


♦ Dans le menu Geoprocessing, chercher Weighted sum (Somme pondérée, Spatial Analyst) et choisissez les paramètres suivants (à récupérer après le calcul dans AHP, Exercice 2-8 tab. n°3) :

Input raster :

Raster : landfuzz

Field : Value

Weight : 92

Cliquez sur Add another (ajouter une couche de plus)

Raster : townfuzz

Field : Value

Weight : 100

Cliquez sur Add another (ajouter une couche de plus)

Raster : waterfuzz

Field : Value

Weight : 139

Cliquez sur Add another (ajouter une couche de plus)

Raster : roadfuzz

Field : Value

Weight : 283

Cliquez sur Add another (ajouter une couche de plus)

Raster : slopfuzz

Field : Value

Weight : 254

Cliquez sur Add another (ajouter une couche de plus)

Raster : devlopdistfuzz

Field : Value

Weight : 133

Output raster : MCEWLC

Puis Run

Dans la version qui a servi rédiger cet exemple, ArcGIS Pro 2.8.0, il n'est pas possible de rentrer des coefficients décimaux.

Il faudrait donc, si on voulait rester dans une gamme comprise entre 0 et 1, diviser par 1000 le résultat.

Mais les outils de reclassement utilisés ensuite ne traitent que des données entières... donc nous allons rester sur une gamme entre 0 et 1000 !

Il faut, aussi, tenir compte des contraintes :


Le plus simple est de finaliser la carte d'aptitude en utilisant la calculatrice raster, comme expliqué au point suivant, en recopiant le script ci-dessous et en le collant dans la fenêtre du Map Algebra expression :

 ("MCEWLC") * "watercon_final.rst" * "landcon.rst"

Output raster : MCEWLCmsq (msq pour masqué par exemple)


♦ Dans le menu Geoprocessing, chercher Raster Calculator (Calculatrice raster, Spatial Analyst Tools) et choisissez les paramètres suivants (à récupérer au dessus ou après le calcul dans AHP, Exercice 2-8 tab. n°3) :

Vous allez successivement sélectionner les différentes couches raster dans Rasters puis les opérateurs dans Tools en respectant les espaces et les parenthèses "qui vont bien".

Ou recopier le script ci-dessous et le coller dans la fenêtre du Map Algebra expression :

(("landfuzz" * 90) + ("townfuzz" * 100) + ("waterfuzz" * 139) + ("ROADfuzz"*283) + ("slopfuzz" * 254) + ("develodistfuzz" * 133)) * "watercon_final.rst" *  "landcon.rst"

Output raster : MCEWLCmsq


♦ Reste à éliminer les parcelles de trop petites tailles et de trop faible aptitude

"Les approches WLC et OWA ont pour résultat des images d'aptitude continue qui rendent problématique la sélection de sites spécifiques pour le développement résidentiel ou n'importe quelle autre attribution. Dans l'approche booléenne, l'aptitude des sites a été définie clairement (bien que plutôt arbitrairement) et le seul problème de la sélection des sites était un problème de contiguïté, traité par l'ajout de la contrainte de postagrégation impliquant que les sites aptes doivent avoir une surface d'au moins 20 hectares. Avec un résultat continu, il y a d'abord le problème du choix des emplacements parmi les emplacements possibles, dont chacun a un certain degré d'aptitude. C'est seulement une fois le choix fait que le problème de contiguïté est traité comme dans le résultat booléen.

Il y a plusieurs méthodes de sélection des sites à l'aide de l'image continue d'aptitude. Nous allons combiner ici deux approches basiques. Dans la première approche, un certain niveau d'aptitude est précisé comme un seuil à prendre en compte comme emplacement finalement apte ou non. Par exemple, tous les emplacements ayant un score d'aptitude d'au moins 0.2 (200) seront choisis comme aptes pour une certaine attribution tandis que ceux dont l'aptitude est inférieure à 0.2 (200) ne seront pas choisis. Cette décision "strict" ("hard") a pour résultat une carte booléenne indiquant tous les sites possibles.

Dans la seconde approche, ce n'est pas le degré d'aptitude mais la quantité totale de terrain à sélectionner (ou à réserver à un autre usage) qui détermine un seuil. Dans ce cas, tous les emplacements (c'est-à-dire les pixels) sont classés selon leur degré d'aptitude. Après classement, les pixels sont sélectionnés/attribués en fonction de leur aptitude jusqu'à ce que la quantité de terrain nécessaire soit atteinte. Par exemple, 1 000 hectares de terrain pourraient devoir être sélectionnés/attribués pour le développement résidentiel. Grâce à cette approche, tous les emplacements sont évalués et les 1 000 hectares les plus aptes sont sélectionnés. Le résultat est de nouveau une carte booléenne indiquant les sites sélectionnés.

Les deux types de seuils (par aptitude ou zone totale) peuvent être considérés comme des contraintes postagrégation supplémentaires. Les contraintes sur le résultat final concernent des emplacements particuliers. Cependant, il faut noter que le problème de contiguïté et de taille des sites n'est pas pris en compte. C'est seulement après la définition des seuils lorsque l'image booléenne est produite, que les résultats peuvent être évalués en termes de contiguïté et de taille au moyen de méthodes semblables à celles décrites ci-dessus.

Outre ces solutions essentiellement booléennes pour la sélection des sites à l'aide d'une image continue d'aptitude, des solutions non booléennes pour la sélection des sites sont peut-être possibles grâce à des calculs de surface anisotropiques*. Cependant, ces méthodes ne sont pas très développées pour l'instant et ne seront pas traitées dans cet exercice." [in Exercice 2-10 (Sources :  TerrSet Tutoriel2020)].


♦ Constitution d'une image booléenne d'aptitude minimum, dans le menu Geoprocessing, chercher Reclassify (Reclassement, Spatial Analyst Tools) et choisissez les paramètres suivants :

Input raster : MCEWLCmsq

Reclass field : VALUE

Reclassification [utiliser les valeurs ci-dessous. Si vous n'arriviez pas à avoir la table ci-dessous en 3 colonnes, cliquez sur le "+", Open an Other Tool et recliquez sur Reclassify (!)]

Attention, la valeur de "End" est exclue et celle de "Start" est incluse !

Start End New
0 200 0
200 1000 1
NODATA NODATA NODATA

Output Raster : MCEWLCmsq200bool

Puis Run

Nous avons maintenant notre contrainte booléenne pour calculer l'aptitude minimum.


♦ Masquage de l'image d'aptitude générale MCEWLCmsq par celle d'aptitude minimum à la valeur 200

Dans le menu Geoprocessing, chercher Raster Calculator (Calculatrice raster, Spatial Analyst Tools) et choisissez les paramètres suivants :

Vous allez successivement sélectionner les différentes couches raster dans Rasters puis les opérateurs dans Tools en respectant les espaces et les parenthèses "qui vont bien".

Ou recopier le script ci-dessous et le coller dans la fenêtre du Map Algebra expression :

"MCEWLCmsq" * "MCEWLCmsq200bool"

Output raster : MCEWLCmsq200


♦ Groupage des pixels contigus du raster MCEWLCmsq200bool qui ne contient que des pixels d'une valeur supérieure à 200.

Dans le menu Geoprocessing, chercher Region Group (Groupes par régions, Spatial Analyst Tools) et choisissez les paramètres suivants :

Input raster : MCEWLCmsq200bool (toutes les valeurs sont supérieures à 200 et ce sont des entiers !)

Output raster : RegionMCEWLC200

Number of neighbors to use : Eight (directions orthogonale et diagonale)

Zone grouping method : Within

Add link field to output (coché par défaut)

Excluded value : 0 (pas la peine de calculer sa surface, il n'y aura pas de développement ici)

Puis Run


♦ Calcul de la surface des différents regroupements.

Dans le menu Geoprocessing, chercher Zonal Statistics (Statistiques zonales, Spatial Analyst Tools) et choisissez les paramètres suivants :

Input raster : RegionMCEWLC200

Zone field : Value

Input value raster : RegionMCEWLC200 (le même)

Output raster : RegionMCEWLC200_ZStat

Statistic type : Sum

Ignore NoData in calculations (coché par défaut)

Puis Run


♦ Faire un Histogramme sur le résultat,

Clic droit sur RegionMCEWLC200_ZStat dans Contents (Contenu)

Create Chart / Histogram

Variable / Number / Band 1

Le graphique montre très peu de grandes surfaces.

Si c'est 1 000 ha la taille minimum requise, combien de groupes sont susceptibles d'être éligibles ?

Lesquels ?

Attention, c'est dans l'unité de la couche (le m2) !


♦ Constitution d'une image booléenne où la surface minimum sera de 1 000 ha (soit 10 000 m2 x 1 000 = 10 000 000) pour le minimum du End (pour un New à 0), le maximum du End (pour un New à 1) sera valué au-delà (50 000 000 par exemple).

Dans le menu Geoprocessing, chercher Reclassify (Reclassement, Spatial Analyst Tools) et choisissez les paramètres suivants :

Input raster : RegionMCEWLC200_ZStat

Reclass field : VALUE

Reclassification [utiliser les valeurs ci-dessous. Si vous n'arriviez pas à avoir la table ci-dessous en 3 colonnes, cliquez sur le "+", Open an Other Tool et recliquez sur Reclassify (!)]

Attention, la valeur de "End" est exclue et celle de "Start" est incluse !

Start End New
0 10000000 0
10000000 100000000 1
NODATA NODATA NODATA

Output Raster : SUIT200SIZE1000 (pour aptitude à 200 et surface à 1 000 ha minimum)

Puis Run


2.2 Dans QGIS

Work in progress !


2.3 Dans Python

Work in progress !


3. La méthode OWA

Work in progress !


3.1 Dans ArcGIS Pro

Work in progress !


3.2 Dans QGIS

Work in progress !


3.3 Dans Python

Work in progress !


4. Bibliographie sur l'agrégation des facteurs

Work in progress !

EASTMAN J. R., JIN W., KYEM P., TOLEDANO J., 1995, "Raster Procedures for Multi-Criteria/Multi-Objective Decisions", Photogrammetric Engineering & Remote Sensing, Vol.61, 539‑547.

HARYPRASETYO D., MUHAMAD J., FAUZI R., 2016, "Development of online Spatial Multi-Criteria Decision Analyst application: Case study on determining area suitability for school location in Surabaya, Indonesia", IOP Conference Series: Earth and Environmental Science, Vol.37, N°1, 012051. https://iopscience.iop.org/article/10.1088/1755-1315/37/1/012051/meta



En cours de réalisation !!!

 

5. Test de compréhension

Communiquez-moi par courrier électronique les réponses aux questions suivantes

Question n°1.5.1.

a)

b)

c)

Question n°1.5.2.

a)

b)

c)

Question n°1.5.3.

a)

b)

c)

Précisez à la rubrique objet :

EC Master 1

puis dans le corps du message vos

n° d'étudiant, nom et prénom

puis vos

réponses

vgodard@univ-paris8.fr

 

 

Retour au début de la fiche Mémo

 

Fiche Mémo suivante

 

NB : les mots suivis de "*" font partie du vocabulaire géographique, donc leur définition doit être connue. Faites-vous un glossaire.