Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Краткая информация
Определяет входные растры и их веса, которые будут сложены в инструменте Взвешенная сумма.
Обсуждение
Инструмент Взвешенная сумма использует объект WSTable.
Лицензия:
Этот класс также доступен, если у вас есть лицензия Image Analyst.
Входные растры могут быть целочисленными, или они могут быть представлены значениями с плавающей точкой.
Значения весов могут быть любым положительным или отрицательными десятичными значениями. Веса не обязательно должны давать в сумме определенное значение, например, 100 (представляющее процент влияния каждого растра).
Синтаксис
WSTable (weightedSumTable)
Параметр | Описание | Тип данных |
weightedSumTable [[inRaster, field, weight],...] | Таблица, определяющая входные растры, поля, которые будут использоваться для значений каждого растра, а также веса, на которые будут умножаться отдельные растры.
| List |
Свойства
Свойство | Описание | Тип данных |
weightedSumTable (чтение и запись) | Содержит таблицу взвешенных сум, определяющую добавляемые растры, поля, которые будут использоваться для значений каждого растра, а также процент влияния, которые в дополнение будет иметь каждый растр. | List |
Пример кода
Иллюстрирует создание класса WSTable и его использование в инструменте WeightedSum в окне Python.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myWSumTable = WSTable([["snow", "VALUE", 0.2], ["land", "VALUE", 0.3], ["soil",
"VALUE", 0.5]])
outWSumT = WeightedSum(myWSumTable)
outWSumT.save("C:/sapyexamples/output/wsumtable")
Выполняет анализ взвешенной суммы с использованием класса WSTable.
# Name: WSTable_Ex_02.py
# Description: Demonstrate executing WeightedSum using the WSTable object.
# 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
inRaster01 = "snow"
field01 = "VALUE"
weight01 = 0.25
inRaster02 = "land"
field02 = "VALUE"
weight02 = 0.25
inRaster03 = "soil"
field03 = "VALUE"
weight03 = 0.5
# Define WSTable
myWSumTable = WSTable([[inRaster01, field01, weight01], [inRaster02, field02,
weight02], [inRaster03, field03, weight03]])
# Execute WeightedSum
outWSumT = WeightedSum(myWSumTable)
# Save the output
outWSumT.save("C:/sapyexamples/output/wsumtable2")