Skip to main content

NbrWeight

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

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

Окрестность NbrWeight для функции FocalStatistics

Пример окрестности NbrWeight для функции FocalStatistics.

Окрестность NbrWeight для функции BlockStatistics

Окрестность NbrWeight для функции BlockStatistics.

Обсуждение

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

Лицензия:

Этот класс также доступен, если у вас есть лицензия модуля Image Analyst, но только для инструмента Фокальная статистика.

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

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

\(x \space = \space (ширина \space + \space 1)/2 \space y \space = \space (высота \space + \space 1)/2\)

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

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

  • Керн-файл представляет собой текстовый файл ASCII, который определяет значения и форму взвешенной окрестности.

  • Первая строка задает ширину и высоту окрестности (количество ячеек в направлении x, за которым следует пробел и количество ячеек в направлении y).

  • Последующие строки содержат значения для каждого положения ячейки окрестности. Значения вводятся в той же конфигурации, в которой они появляются в представляемой ими окрестности. Положительные, отрицательные и десятичные значения являются корректными опциями в качестве весов. Пробел между значениями является обязательным.

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

Синтаксис

NbrWeight(inKernelFile)

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

inKernelFile

An ASCII text file that defines the shape of the neighborhood and the weight of each cell in that neighborhood. A value of 0 for a cell position indicates that the cell is not a member of the neighborhood, and a number at a corresponding cell's position indicates that the cell value be included as a member of the neighborhood. The nonzero value will also serve as the weight to multiply the corresponding cell value.

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")
NbrWeight, пример 2 (автономный скрипт)

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

# Name: NbrWeight_Ex_02.py
# Description: Uses the NbrWeight object to run 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)

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

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