Superposition pondérée (Spatial Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Superpose plusieurs rasters en utilisant une échelle de mesure commune et les pondère en fonction de leur importance.

Pour en savoir plus sur l'utilisation de la fonction Superposition pondérée

Illustration

Illustration de l'outil Superposition pondérée
Dans l'illustration, les deux rasters en entrée ont été reclassés selon une échelle de mesure commune de 1 à 3. Chaque raster se voit affecter un pourcentage d'influence. Les valeurs des cellules sont multipliées par leur pourcentage d'influence, puis les résultats sont cumulés pour créer le raster en sortie. Considérons par exemple la cellule en haut à gauche. Les valeurs pour les deux entrées deviennent (2 * 0,75) = 1,5 et (3 * 0,25) = 0,75. La somme de 1,5 et de 0,75 est 2,25. Puisque le raster en sortie généré par la fonction Superposition pondérée est de type entier, la valeur finale est arrondie à 2.

Utilisation

Syntaxe

WeightedOverlay (in_weighted_overlay_table)
ParamètreExplicationType de données
in_weighted_overlay_table

L'outil Superposition pondérée permet de procéder à une analyse à critères multiples reposant sur plusieurs rasters.

Une classe Superposition permet de définir la table. L'objet WOTable permet de spécifier les rasters de critères et leurs propriétés respectives.

L'objet a la forme suivante :

  • WOTable(weightedOverlayTable, evaluationScale)

WOTable

Valeur renvoyée

NomExplicationType de données
out_raster

Raster d'aptitude en sortie.

Raster

Exemple de code

Premier exemple d'utilisation de l'outil WeightedOverlay (fenêtre Python)

Cet exemple crée un raster d'aptitude IMG qui identifie des emplacements de site potentiels pour une station de sports d'hiver.

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"

outsuit = WeightedOverlay(WOTable(
           [
            ["snow", 50, 'VALUE', RemapValue([[1,"Nodata"],[5,3],[9,10],["NODATA","NODATA"]])], 
            ["land", 20, '', RemapValue([["water","1"],["forest",5],["open field",9],["NODATA", "NODATA"]])],
            ["soil", 30, 'VALUE', RemapValue([[1,"Restricted"],[5,5],[7,7],[9,9],["NODATA", "Restricted"]])]
           ],[1,9,1]))
outsuit.save("C:/sapyexamples/output/outsuit.img")
Deuxième exemple d'utilisation de l'outil WeightedOverlay (script autonome)

Cet exemple crée un raster d'aptitude IMG qui identifie des emplacements de site potentiels pour une station de sports d'hiver.

# Name: WeightedOverlay_Ex_02.py
# Description: Overlays several rasters using a common scale and weighing 
#    each according to its importance.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster1 = "snow"
inRaster2 = "land"
inRaster3 = "soil"

remapsnow = RemapValue([[0,1],[1,1],[5,5],[9,9],["NODATA","NODATA"]])
remapland = RemapValue([[1,1],[5,5],[6,6],[7,7],[8,8],[9,9],["NODATA","Restricted"]])
remapsoil = RemapValue([[0,1],[1,1],[5,5],[6,6],[7,7],[8,8],[9,9],["NODATA", "NODATA"]])

myWOTable = WOTable([[inRaster1, 50, "VALUE", remapsnow],
                     [inRaster2, 20, "VALUE", remapland], 
                     [inRaster3, 30, "VALUE", remapsoil]
					          ], [1, 9, 1])    

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute WeightedOverlay
outWeightedOverlay = WeightedOverlay(myWOTable)

# Save the output
outWeightedOverlay.save("C:/sapyexamples/output/weightover2")

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis ArcGIS Spatial Analyst
ArcGIS for Desktop Standard: Requis ArcGIS Spatial Analyst
ArcGIS for Desktop Advanced: Requis ArcGIS Spatial Analyst
5/10/2014