Weighted Sum (Spatial Analyst)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

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

Weitere Informationen zur Funktionsweise des Werkzeugs "Weighted Sum"

Bild

Abbildung: Weighted Sum
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 Zelle links oben. 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

Syntax

WeightedSum (in_rasters)
ParameterErläuterungDatentyp
in_rasters
in_weighted_sum_table

Das Werkzeug Weighted Sum 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 "WSTable" hat folgendes Format:

  • WSTable ([[inRaster, field, weight],...])

WSTable

Rückgabewert

NameErläuterungDatentyp
out_raster

Das Ausgabe-Raster für die Eignung.

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

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

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Erfordert Spatial Analyst
ArcGIS for Desktop Standard: Erfordert Spatial Analyst
ArcGIS for Desktop Advanced: Erfordert Spatial Analyst
9/12/2013