Взвешенное наложение (Weighted Overlay) (Spatial Analyst)
Резюме
Накладывает несколько растров с использованием общей шкалы измерений, при этом взвешивая каждый слой в соответствии с его значимостью.
Более подробно о том, как работает инструмент Взвешенное наложение
Рисунок
Использование
-
Все входные растры должны быть целочисленными. Растр из значений с плавающей точкой должен быть преобразован в целочисленный до того, как его можно будет использовать в инструменте Взвешенное наложение. Инструменты группы Переклассификация (Reclassification) предоставляют эффективные операции преобразования.
-
Каждому значению класса на входном растре на основании шкалы оценки присваивается новое значение. Эти новые значения представляют результаты переклассификации исходных значений входного растра. Значение «ограничено» используется для областей, которые вы хотите исключить из анализа.
-
Каждому входному растру присваивается вес в соответствии с его важностью или процентом его влияния. Вес - это относительная доля, выраженная в процентах, и сумма процентов влияния должна быть равна 100.
-
Изменение масштаба высоты или процентов влияния может изменить результаты анализа с использованием взвешенного наложения.
Синтаксис
Параметр | Объяснение | Тип данных |
in_weighted_overlay_table |
Инструмент Взвешенное наложение (Weighted Overlay) позволяет выполнить вычисления при анализе нескольких растров, учитывающих целый ряд критериев. Класс Наложение (Overlay) используется для определения таблицы. Объект WOTable используется для определения растров критерия и соответствующих им свойств. Форма объекта:
| WOTable |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр соответствия. | Raster |
Пример кода
В этом примере создается растр соответствия IMG, который определяет возможные расположения для воздушного пространства.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outsuit = WeightedOverlay(WOTable(
[
["snow", 50, 'VALUE', RemapValue([[1,"Nodata"],[5,3],[9,10],["NODATA","NODATA"]])],
["land", 20, '', RemapValue([["water","1"],["forest",5],["open field",9],["NODATA", "NODATA"]])],
["soil", 30, 'VALUE', RemapValue([[1,"Restricted"],[5,5],[7,7],[9,9],["NODATA", "Restricted"]])]
],[1,9,1]))
outsuit.save("C:/sapyexamples/output/outsuit.img")
В этом примере создается растр соответствия IMG, который определяет возможные расположения для воздушного пространства.
# Name: WeightedOverlay_Ex_02.py
# Description: Overlays several rasters using a common scale and weighing
# each according to its importance.
# 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"
remapsnow = RemapValue([[0,1],[1,1],[5,5],[9,9],["NODATA","NODATA"]])
remapland = RemapValue([[1,1],[5,5],[6,6],[7,7],[8,8],[9,9],["NODATA","Restricted"]])
remapsoil = RemapValue([[0,1],[1,1],[5,5],[6,6],[7,7],[8,8],[9,9],["NODATA", "NODATA"]])
myWOTable = WOTable([[inRaster1, 50, "VALUE", remapsnow],
[inRaster2, 20, "VALUE", remapland],
[inRaster3, 30, "VALUE", remapsoil]
], [1, 9, 1])
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute WeightedOverlay
outWeightedOverlay = WeightedOverlay(myWOTable)
# Save the output
outWeightedOverlay.save("C:/sapyexamples/output/weightover2")