Disponible avec une licence Spatial Analyst.
Résumé
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 et n'est pas nécessairement é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.
Par défaut, cet outil tire parti des processeurs à plusieurs cœurs. Le nombre maximal de cœurs pouvant être utilisés s’élève à quatre.
Si vous souhaitez que l'outil utilise moins de cœurs, utilisez le paramètre d'environnement Facteur de traitement parallèle.
Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.
Syntaxe
WeightedSum(in_rasters)
Paramètre | Explication | Type de données |
in_rasters | L'outil Somme pondérée superpose plusieurs rasters en multipliant chacun d'eux par leur poids et en les additionnant. Une classe Overlay 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. L'objet a la forme suivante :
| WSTable |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster | Raster pondéré en sortie. Il sera de type virgule flottante. | Raster |
Exemple de code
Premier exemple d'utilisation de l'outil WeightedSum (fenêtre Python)
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")
Deuxième exemple d'utilisation de l'outil WeightedSum (script autonome)
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")
Environnements
Informations de licence
- Basic: Requiert Spatial Analyst
- Standard: Requiert Spatial Analyst
- Advanced: Requiert Spatial Analyst