NbrWeight (arcpy.sa)

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

Определяет взвешенную окрестность, которая создается с помощью файла описания со значениями, на которые умножаются ячейки, входящие в окрестность.

Рисунок

Изображение статистики FocalStatistics окрестности NbrWeight
Функция статистики FocalStatistics для окрестности NbrWeight
Изображение статистики BlockStatistics окрестности NbrWeight
Окрестность NbrWeight для инструмента BlockStatistics.

Обсуждение

Инструменты, которые используют объект взвешенной окрестности: Статистика по блокам и Фокальная статистика.

Взвешенная окрестность задается с помощью файла описания. Файл описания весов задаёт, какие положения ячейки будут включены в окрестность, а также веса, которые будут использования при умножении значений клеток на входной растр.

Для фокальных инструментов положение x,y обрабатываемой ячейки в пределах окрестности по отношению к верхнему левому углу окрестности, определяется следующими уравнениями:

 x = (width + 1)/2
 y = (height + 1)/2

Если число входных ячеек четное, координаты x,y округляются методом отбрасывания дробной части.

Файл описания:

Синтаксис

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

Данный inKernelFile является текстовым файлом формата ASCII, определяющим форму окрестности и вес каждой из ячеек в данной окрестности. Значение 0 для положения ячейки указывает на то, что эта ячейка не является членом массива окрестности, а какое-либо число на месте соответствующей ячейки указывает, что значение ячейки следует включить в качестве члена массива окрестности. Ненулевое значение также выступает в качестве веса, являющегося множителем значения соответствующей ячейки.

File

Свойства

СвойствоОбъяснениеТип данных
inKernelFile
(чтение и запись)

Данный файл inKernelFile является текстовым файлом формата ASCII, определяющим форму окрестности и вес каждой из ячеек в данной окрестности. Значение 0 для положения ячейки указывает на то, что эта ячейка не является членом массива окрестности, а какое-либо число на месте соответствующей ячейки указывает, что значение ячейки следует включить в качестве члена массива окрестности. Ненулевое значение также выступает в качестве веса, являющегося множителем значения соответствующей ячейки.

String

Пример кода

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

Демонстрирует создание класса NbrWeight и его использование в инструменте статистики BlockStatistics в окне Python.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNbrWF = BlockStatistics("block", NbrWeight("weight.txt"))
outNbrWF.save("C:/sapyexamples/output/blstatsnbrwf2")
Пример 2 для NbrWeight (автономный скрипт)

Реализует инструмент BlockStatistics при помощи класса NbrWeight.

# Name: NbrWeight_Ex_02.py
# Description: Uses the NbrWeight object to execute BlockStatistics tool.
# 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
inRaster = "block"

# Create the Neighborhood Object
inWeightFile = "C:/data/weight.txt"
myNbrWeight = NbrWeight(inWeightFile)

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute BlockStatistics
outBlStats =  BlockStatistics(inRaster, myNbrWeight, "MINIMUM", "DATA")

# Save the output 
outBlStats.save("C:/sapyexamples/output/blstat_wght3")

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

5/10/2014