Взвешенная сумма (Weighted Sum) (Spatial Analyst)

Уровень лицензии:BasicStandardAdvanced

Резюме

Выполняет наложение нескольких растров, умножая каждый растр на заданный для него вес и складывая растры между собой.

Более подробно о том, как работает инструмент Взвешенная сумма

Рисунок

Как работает инструмент Взвешенная сумма (Weighted Sum)
На рисунке значения ячеек умножаются на их весовые коэффициенты, и результаты складываются между собой с целью создания выходного растра. Для примера рассмотрим верхнюю левую ячейку. Значения двух входных растров для этой ячейки будут равны (2,2 * 0,75) = 1,65 и (3 * 0,25) = 0,75. Сумма 1,5 и 0,75 равна 2,4.

Использование

Синтаксис

WeightedSum (in_rasters)
ПараметрОбъяснениеТип данных
in_rasters
in_weighted_sum_table

Инструмент Взвешенная сумма (Weighted Sum) накладывает несколько растров, умножая каждый растр на заданный для него вес и складывая растры между собой.

Класс Наложение (Overlay) используется для определения таблицы. Объект WSTable используется для определения списка входных растров Python и для взвешивания их соответственно.

Форма объекта WSTable:

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

WSTable

Возвращено значение

ИмяОбъяснениеТип данных
out_raster

Выходной растр соответствия.

Он будет иметь тип с плавающей точкой.

Raster

Пример кода

Взвешенная сумма. Пример 1 (окно Python)

В этом примере создается растр соответствия для расположения нужного курорта путем комбинирования нескольких растров вместе и применения соответствующих факторов веса.

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")
Взвешенная сумма. Пример 2 (автономный скрипт)

В этом примере создается растр соответствия для расположения нужного курорта путем комбинирования нескольких растров вместе и применения соответствующих факторов веса.

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

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Требует Spatial Analyst
ArcGIS for Desktop Standard: Требует Spatial Analyst
ArcGIS for Desktop Advanced: Требует Spatial Analyst
9/11/2013