Доступно с лицензией Spatial Analyst.
Краткая информация
Наложение нескольких растров с умножением каждого на присвоенный им вес и общим суммированием.
Более подробно о том, как работает инструмент Взвешенная сумма
Рисунок
Использование
Простой способ сложить несколько растров между собой – выбрать в качестве входных данных несколько растров и установить все веса, равными 1.
Входные растры могут быть целочисленными, или они могут быть представлены значениями с плавающей точкой.
Значения весов могут быть любым положительным или отрицательными десятичными значениями. Они не ограничены процентами, и их сумма не должна равняться 1.0.
Вес будет применен к заданному полю входного растра. Поле может быть любого типа, короткое или длинное целое, двойной точности или с плавающей точкой.
По умолчанию этот инструмент использует преимущества многоядерных процессоров. Максимальное число ядер, использующихся инструментом, 4.
Если вы хотите, чтобы инструмент использовал меньшее число ядер, измените параметр среды parallelProcessingFactor.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
WeightedSum (in_rasters)
Параметр | Объяснение | Тип данных |
in_rasters in_weighted_sum_table | Инструмент Взвешенная сумма (Weighted Sum) выполняет наложение нескольких растров, умножая каждый растр на заданный для него вес и складывая растры между собой. Класс Overlay используется для определения таблицы. Объект WSTable используется для определения в Python списка входных растров и для их соответствующего взвешивания. Форма объекта:
| 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]])
# 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")
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Коэффициент параллельной обработки (Parallel Processing Factor)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)