Gewichtete Summe (Spatial Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Mit der Image Analyst-Lizenz verfügbar.

Zusammenfassung

Überlagert mehrere Raster, wobei jedes mit der jeweiligen Gewichtung multipliziert und anschließend die Summe gebildet wird.

Weitere Informationen zur Funktionsweise des Werkzeugs "Gewichtete Summe"

Abbildung

Abbildung: Gewichtete Summe
In der Abbildung werden die Zellenwerte mit ihrem Gewichtungsfaktor multipliziert, und die Ergebnisse werden addiert, um das Ausgabe-Raster zu erstellen. Betrachten Sie beispielsweise die obere linke Zelle. Als Werte für die beiden Eingaben ergibt sich: (2,2 * 0,75) = 1,65 und (3 * 0,25) = 0,75. Die Summe von 1,5 und 0,75 beträgt 2,4.

Verwendung

  • Eine nützliche Möglichkeit, mehrere Raster hinzuzufügen, besteht darin, mehrere Raster einzugeben und alle Gewichtungen auf 1 festzulegen.

  • Eingabe-Raster können ganzzahlige oder Gleitkomma-Raster sein.

  • Als Gewichtungswerte kommen alle positiven oder negativen Dezimalwerte in Frage. Es besteht keine Einschränkung auf einen relativen Prozentsatz oder einen Wert gleich 1,0.

  • Die Gewichtung wird auf das angegebene Feld für das Eingabe-Raster angewendet. Felder können den Typ "Short Integer", "Long Integer", "Double" oder "Float" aufweisen.

  • Dieses Werkzeug nutzt standardmäßig Mehrkernprozessoren. Maximal können vier Kerne genutzt werden.

    Verwenden Sie die Umgebungseinstellung Faktor für parallele Verarbeitung, um weniger Kerne zu nutzen.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster

Die gewichtete Summentabelle ermöglicht Ihnen die Anwendung verschiedener Gewichtungen auf einzelne Eingabe-Raster, bevor sie summiert werden.

  • Raster: Das zu gewichtende Raster.
  • Feld: Das Feld des für die Gewichtung zu verwendenden Rasters.
  • Gewichtung: Der Gewichtungswert, mit dem das Raster multipliziert werden soll. Alle positiven oder negativen Dezimalwerte kommen in Frage.
WSTable

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

Das gewichtete Ausgabe-Raster.

Es weist einen Gleitkommatyp auf.

Raster

WeightedSum(in_rasters)
NameErläuterungDatentyp
in_rasters

Das Werkzeug Gewichtete Summe dient zum Überlagern mehrerer Raster, wobei jedes mit der jeweiligen Gewichtung multipliziert und anschließend die Summe gebildet wird.

Eine Overlay-Klasse wird verwendet, um die Tabelle zu definieren. Das Objekt WSTable wird verwendet, um eine Python-Liste der Eingabe-Raster anzugeben und sie entsprechend zu gewichten.

Das Objekt hat folgendes Format:

  • WSTable(weightedSumTable)

WSTable

Rückgabewert

NameErläuterungDatentyp
out_raster

Das gewichtete Ausgabe-Raster.

Es weist einen Gleitkommatyp auf.

Raster

Codebeispiel

WeightedSum: Beispiel 1 (Python-Fenster)

In diesem Beispiel wird ein Eignungs-Raster für die Suche nach einem Skigebiet erstellt, indem mehrere Raster kombiniert und geeignete Gewichtungsfaktoren angewendet werden.

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")
WeightedSum: Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird ein Eignungs-Raster für die Suche nach einem Skigebiet erstellt, indem mehrere Raster kombiniert und geeignete Gewichtungsfaktoren angewendet werden.

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