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")