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

Доступно с лицензией Spatial Analyst.

Доступно с лицензией Image Analyst.

Краткая информация

Наложение нескольких растров с умножением каждого на присвоенный им вес и общим суммированием.

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

Иллюстрация

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

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

  • Простой способ сложить несколько растров между собой – выбрать в качестве входных данных несколько растров и установить все веса, равными 1.

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

  • Значения весов могут быть любым положительным или отрицательными десятичными значениями. Они не ограничены процентами, и их сумма не должна равняться 1.0.

  • Вес будет применен к заданному полю входного растра. Поле может быть любого типа, короткое или длинное целое, двойной точности или с плавающей точкой.

  • По умолчанию этот инструмент будет использовать многоядерные процессоры, если они доступны. Максимальное число ядер, которое может быть использовано,– четыре.

    Чтобы инструмент использовал меньшее число ядер, измените параметр среды Коэффициент параллельной обработки.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

ПодписьОписаниеТип данных
Входные растры

Таблица взвешенных сумм позволяет применять различные веса к отдельным входным растрам перед их суммированием.

  • Растр– растр, который будет взвешен.
  • Поле – поле растра, используемого для взвешивания.
  • Вес – значение веса, на которое умножается растр. Эти значения могут быть как положительными, так и отрицательными.
WSTable

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

ПодписьОписаниеТип данных
Выходной растр

Выходной взвешенный растр.

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

Raster

WeightedSum(in_rasters)
ИмяОписаниеТип данных
in_rasters

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

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

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

  • WSTable(weightedSumTable)

WSTable

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

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

Выходной взвешенный растр.

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

Raster

Пример кода

WeightedSum, пример 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")
WeightedSum, пример 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]])

# Execute WeightedSum
outWeightedSum = WeightedSum(WSumTableObj)

# Save the output 
outWeightedSum.save("C:/sapyexamples/output/weightsumout")

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

  • Basic: Обязательно Spatial Analyst или Image Analyst
  • Standard: Обязательно Spatial Analyst или Image Analyst
  • Advanced: Обязательно Spatial Analyst или Image Analyst

Связанные разделы