Weighted Sum (Spatial Analyst)

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"

Abbildung

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

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Erfordert Spatial Analyst
ArcEditor: Erfordert Spatial Analyst
ArcInfo: Erfordert Spatial Analyst

7/10/2012