Взвешенное наложение (Spatial Analyst)

Уровень лицензии:BasicStandardAdvanced

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

Накладывает несколько растров с использованием общей шкалы измерений, при этом взвешивая каждый слой в соответствии с его значимостью.

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

Рисунок

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

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

Синтаксис

WeightedOverlay (in_weighted_overlay_table)
ПараметрОбъяснениеТип данных
in_weighted_overlay_table

Инструмент Взвешенное наложение (Weighted Overlay) позволяет выполнить вычисления при анализе нескольких растров, учитывающих целый ряд критериев.

Класс Наложение (Overlay) используется для определения таблицы. Объект WOTable используется для определения растров критерия и соответствующих им свойств.

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

  • WOTable(weightedOverlayTable, evaluationScale)

WOTable

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

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

Выходной растр соответствия.

Raster

Пример кода

WeightedOverlay Пример 1 (окно Python)

В этом примере создается 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")
WeightedOverlay Пример 2 (автономный скрипт)

В этом примере создается 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")

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Standard: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Advanced: Требует Дополнительный модуль Spatial Analyst
6/5/2014