Somme pondérée (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Synthèse

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 supérieure 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

  • 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.

    Pour utiliser 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.

Paramètres

ÉtiquetteExplicationType de données
Rasters en entrée

La table des sommes pondérées vous permet d'appliquer différentes pondérations à des rasters en entrée individuels avant qu'ils soient additionnés.

  • Raster : le raster à pondérer.
  • Champ : le champ du raster à utiliser pour la pondération.
  • Poids : la valeur de pondération par laquelle multiplier le raster. Il peut s’agir de toute valeur décimale positive ou négative.
WSTable

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Raster pondéré en sortie.

Il sera de type virgule flottante.

Raster

WeightedSum(in_rasters)
NomExplicationType 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(weightedSumTable)

WSTable

Valeur renvoyée

NomExplicationType 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]])

# Execute WeightedSum
outWeightedSum = WeightedSum(WSumTableObj)

# Save the output 
outWeightedSum.save("C:/sapyexamples/output/weightsumout")

Informations de licence

  • Basic: Nécessite Spatial Analyst ou Image Analyst
  • Standard: Nécessite Spatial Analyst ou Image Analyst
  • Advanced: Nécessite Spatial Analyst ou Image Analyst

Rubriques connexes