Somme pondérée (Spatial Analyst)

Niveau de licence :De baseStandardAvancé

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

Illustration de l'outil Somme pondérée
Dans l'illustration, les valeurs des cellules sont multipliées par leur facteur de pondération, 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,2 * 0,75) = 1,65 et (3 * 0,25) = 0,75. La somme de 1,5 et de 0,75 est 2,4.

Utilisation

Syntaxe

WeightedSum (in_rasters)
ParamètreExplicationType 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 ([[inRaster, field, weight],...])

WSTable

Valeur renvoyée

NomExplicationType de données
out_raster

Raster d'aptitude 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

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
9/13/2013