Фокальная статистика (Focal Statistics) (Spatial Analyst)
Краткая информация
Вычисляет для каждой входной ячейки статистику значений в определенной вокруг нее окрестности.
Более подробно о том, как работает инструмент Фокальная статистика
Рисунок
Использование
-
Если тип значений входного растра – числа с плавающей точкой, возможно вычисление только среднего (Mean), максимального (Maximum) и минимального (Minimum) значений, а также диапазона (Range), стандартного отклонения (STD) и суммы (Sum); статистики Большинства (Majority), Меньшинства (Minority), Медианы (Median) и Разнообразие (Variety) не допускаются. Если входной растр целочисленный, доступно использование всех типов статистики.
-
Если задана круглая окрестность, окрестность в форме кольца или в форме клина, некоторые внешние ячейки диагонали могут не учитываться в вычислениях, т.к. центр ячейки должен быть заключён в окрестность.
-
Для типов окрестностей Нерегулярный (Irregular) и Вес (Weight) требуется наличие керн-файла. Керн-файл должен иметь расширение .txt.
Более подробную информацию о создании и использовании керн-файлов см. в подразделах "Нерегулярный" и "Вес" в статье Как работает инструмент Фокальная статистика (How Focal Statistics works).
-
Тип Окрестность (Neighborhood) может иметь значение Weight только для типов статистики Среднее (Mean), Стандартное отклонение (Standard Deviation) или Сумма (Sum).
-
Входные ячейки NoData могут получать значение на выходе, если включена опция Игнорировать значение NoData при вычислениях (Ignore NoData in calculations), при условии, что по крайней мере одна ячейка в окрестности имеет корректное значение.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Растр, для которого будут выполнены вычисления фокальной статистики. | Raster Layer |
neighborhood (дополнительно) |
Класс Окрестности диктует форму области вокруг каждой ячейки, используемой для вычисления статистики. Различные типы окрестности: NbrAnnulus, NbrCircle, NbrRectangle, NbrWedge, NbrIrregular, и NbrWeight. Ниже приведены формы окрестности:
Окрестность по умолчанию – это квадрат NbrRectangle со стороной три ячейки. | Neighborhood |
statistics_type (дополнительно) |
Тип вычисляемой статистики.
Тип статистики, вычисляемой по умолчанию, – MEAN (среднее). Когда поле содержит значения с плавающей точкой, единственные доступные типы статистики – это Среднее (MEAN), Максимум (MAXIMUM), Минимум (MINIMUM), Диапазон (RANGE), Стандартное отклонение (STD) и Сумма (SUM). | String |
ignore_nodata (дополнительно) |
Устанавливает, игнорируются ли в вычислениях статистики значения NoData.
| Boolean |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр фокальной статистики. | Raster |
Пример кода
В этом примере вычисляется наименее часто возникающее значение в окрестности в форме кольца вокруг каждой ячейки входного растра.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"),
"MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
В этом примере вычисляется наименее часто возникающее значение в окрестности 10 на 10 вокруг каждой ячейки входного растра.
# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
# neighborhood.
# 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 = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
"")
# Save the output
outFocalStatistics.save("C:/sapyexamples/output/focalstatout")