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