NbrIrregular (arcpy.sa)
Краткая информация
Определяет окрестность неправильной формы, которая создана с помощью файла Кернела.
Рисунок
Обсуждение
Инструменты, которые используют объект окрестности неправильной формы: Статистика по блокам и Фокальная статистика.
То, какие ячейки будут включены в окрестность, определяет файл Кернела.
Для фокальных инструментов положение x,y обрабатываемой ячейки в пределах окрестности по отношению к верхнему левому углу окрестности, определяется следующими уравнениями:
x = (width + 1)/2 y = (height + 1)/2
Если число входных ячеек четное, координаты x,y округляются методом отбрасывания дробной части.
Файл описания:
Файл Кернела представляет собой текстовый ASCII-файл, который определяет значения и форму окрестности неправильной формы.
Первая строка задает ширину и высоту окрестности (количество ячеек в направлении x, за которым следует пробел и количество ячеек в направлении y).
Последующие строки содержат значения для каждого положения ячейки окрестности. Значения вводятся в той же конфигурации, в которой они появляются в представляемой ими окрестности. Пробел между значениями является обязательным.
Значения в файле Кернела должны быть либо 0, либо 1. При этом любое значение, отличное от нуля, будет интерпретироваться как 1.
Нулевое значение (не пробел) для положения ячейки указывает на то, что ячейка не является частью окрестности, и что она не будет включена в обработку. Значение, равное 1, указывает на то, что соответствующая ему ячейка (и ее значение) является частью окрестности.
Синтаксис
Параметр | Объяснение | Тип данных |
inKernelFile |
Файл Кернела для окрестности неправильной формы inKernelFile представляет собой текстовый файл в формате ASCII, задающий форму нерегулярной окрестности. Значение 0 для положения ячейки указывает на то, что эта ячейка не является членом массива окрестности, а ненулевое число на месте соответствующей ячейки указывает, что значение ячейки следует включить в качестве члена массива окрестности. | File |
Свойства
Свойство | Объяснение | Тип данных |
inKernelFile (чтение и запись) |
Файл Кернела для окрестности неправильной формы inKernelFile представляет собой текстовый файл в формате ASCII, задающий форму нерегулярной окрестности. Значение 0 для положения ячейки указывает на то, что эта ячейка не является членом массива окрестности, а ненулевое число на месте соответствующей ячейки указывает, что значение ячейки следует включить в качестве члена массива окрестности. | String |
Пример кода
Демонстрирует создание класса NbrIrregular и его использование в инструменте статистики BlockStatistics в окне Python.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNbrKF = BlockStatistics("block", NbrIrregular("irreg.txt"))
outNbrKF.save("C:/sapyexamples/output/blstatsnbri2")
Реализует инструмент BlockStatistics при помощи класса NbrIrregular.
# Name: NbrIrregular_Ex_02.py
# Description: Uses the NbrIrregular 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
inKernelFile = "C:/data/irreg.txt"
myNbrIrreg = NbrIrregular(inKernelFile)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute BlockStatistics
outBlkStat = BlockStatistics(inRaster, myNbrIrreg, "MINIMUM", "DATA")
# Save the output
outBlkStat.save("C:/sapyexamples/output/blstat_irr3")