Доступно с лицензией Spatial Analyst.
Сводка
Наложение нескольких растров с умножением каждого на присвоенный им вес и общим суммированием.
Более подробно о том, как работает инструмент Взвешенная сумма
Иллюстрация
Использование
Простой способ сложить несколько растров между собой – выбрать в качестве входных данных несколько растров и установить все веса, равными 1.
Входные растры могут быть целочисленными, или они могут быть представлены значениями с плавающей точкой.
Значения весов могут быть любым положительным или отрицательными десятичными значениями. Они не ограничены процентами, и их сумма не должна равняться 1.0.
Вес будет применен к заданному полю входного растра. Поле может быть любого типа, короткое или длинное целое, двойной точности или с плавающей точкой.
По умолчанию этот инструмент использует преимущества многоядерных процессоров. Максимальное число ядер, которое может быть использовано,– четыре.
Если вы хотите, чтобы инструмент использовал меньшее число ядер, измените параметр среды parallelProcessingFactor.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
WeightedSum(in_rasters)
Параметр | Объяснение | Тип данных |
in_rasters | Инструмент Взвешенная сумма выполняет наложение нескольких растров, умножая каждый растр на заданный для него вес и складывая растры между собой. Класс 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")
Параметры среды
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst