Somme pondérée (Spatial Analyst)
Récapitulatif
Superpose plusieurs rasters en multipliant chacun d'eux par leur poids et en les additionnant.
Pour en savoir plus sur l'utilisation de la fonction Somme pondérée
Illustration
Utilisation
-
Pour ajouter plusieurs raster simultanément, le plus simple est de saisir plusieurs rasters et de définir toutes les pondérations sur 1.
-
Les rasters en entrée peuvent être des nombres entiers ou à virgule flottante.
-
Les valeurs de pondération peuvent être toute valeur décimale positive ou négative. Cette valeur n'est pas restreinte à un pourcentage relatif ou égale à 1.0.
-
La pondération sera appliquée au champ spécifié pour le raster en entrée. Les champs peuvent être de type Entier court, Entier long, Réel double ou Réel simple.
Syntaxe
Paramètre | Explication | Type de données |
in_rasters in_weighted_sum_table |
L'outil Somme pondérée superpose plusieurs rasters en multipliant chacun d'eux par leur poids et en les additionnant. Une classe Superposition permet de définir la table. L'objet WSTable permet de spécifier une liste Python de rasters en entrée et de les pondérer en conséquence. La forme de l'objet WSTable est la suivante :
| WSTable |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster |
Raster d'aptitude en sortie. Il sera de type virgule flottante. | Raster |
Exemple de code
Cet exemple crée un raster d'aptitude pour la localisation d'une station de sports d'hiver en combinant plusieurs rasters, et en appliquant des facteurs de pondération appropriés.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
# Execute WeightedSum
outWeightedSum = WeightedSum(WSTable([["snow", "VALUE", 0.25], ["land", "VALUE",0.25],
["soil", "VALUE", 0.5]]))
outWeightedSum.save("C:/sapyexamples/output/outwsum")
Cet exemple crée un raster d'aptitude pour la localisation d'une station de sports d'hiver en combinant plusieurs rasters, et en appliquant des facteurs de pondération appropriés.
# Name: WeightedSum_Ex_02.py
# Description: Overlays several rasters multiplying each by their given
# weight and summing them together.
# 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"
WSumTableObj = WSTable([[inRaster1, "VALUE", 0.25], [inRaster2, "VALUE", 0.25],
[inRaster3, "VALUE", 0.5]])
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute WeightedSum
outWeightedSum = WeightedSum(WSumTableObj)
# Save the output
outWeightedSum.save("C:/sapyexamples/output/weightsumout")