Фокальная статистика (Image Analyst)

Доступно с лицензией Spatial Analyst.

Доступно с лицензией Image Analyst.

Сводка

Вычисляет для каждой входной ячейки статистику значений в определенной вокруг нее окрестности.

Более подробно о том, как работает инструмент Фокальная статистика

Иллюстрация

Иллюстрация работы инструмента Фокальная статистика
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,MAP), "SUM", "")

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

  • Если значения входного растра целочисленные, доступно использование всех типов статистики. Если значения входного растра – числа с плавающей точкой, возможно вычисление только среднего, максимального и минимального значений, медианы, процентиля, а также диапазона, стандартного отклонения и суммы; статистика Большинство, Меньшинство и Разнообразие не допускается.

  • Если задана круглая окрестность, окрестность в форме кольца или в форме клина, некоторые внешние ячейки диагонали могут не учитываться в вычислениях, так как центр ячейки должен быть заключён в окрестность.

  • Для типов окрестностей Нерегулярный и Вес требуется наличие керн-файла. Керн-файл должен иметь расширение .txt.

    Более подробную информацию о создании и использовании керн-файлов см. в подразделах Нерегулярный и Вес раздела Как работает инструмент Фокальная статистика.

  • Тип Окрестность может быть задан для Веса только в типах статистики Среднее, Средне-квадратическое отклонение и Суммарная статистика.

  • Входные ячейки NoData могут получать значение на выходе, если включена параметр Игнорировать значение NoData при вычислениях, при условии, что по крайней мере одна ячейка в окрестности имеет корректное значение.

Синтаксис

FocalStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata}, {percentile_value})
ParameterОбъяснениеТип данных
in_raster

Растр, на котором будет рассчитываться фокальная статистика для каждой ячейки.

Raster Layer
neighborhood
(Дополнительный)

Класс Neighborhood диктует форму области вокруг каждой ячейки, используемой для вычисления статистики.

Типы окрестности включают: NbrAnnulus, NbrCircle, NbrRectangle, NbrWedge, NbrIrregular, и NbrWeight.

Ниже приведены формы окрестности:

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})
  • NbrCircle({radius}, {units}
  • NbrRectangle({width}, {height}, {units})
  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})
  • NbrIrregular(inKernelFile)
  • NbrWeight(inKernelFile)

Окрестность по умолчанию – это квадрат NbrRectangle со стороной 3 ячейки.

Neighborhood
statistics_type
(Дополнительный)

Указывает тип вычисляемой статистики.

  • MEANВычисляет среднее значений ячеек окрестности.
  • MAJORITYВычисляет значение большинства (значения, которое встречается чаще других) для ячеек в окрестности.
  • MAXIMUMВычисляет максимальное (наибольшее) из значений ячеек в окрестности.
  • MEDIANВычисляет значение медианы для ячеек в окрестности.
  • MINIMUMВычисляет минимальное (наименьшее) из значений ячеек в окрестности.
  • MINORITYВычисляет значение меньшинства (значения, встречающегося реже всего) для ячеек в окрестности.
  • PERCENTILEВычисляет значение процентиля для ячеек в окрестности. Девяностый процентиль вычисляется по умолчанию. Вы можете указать другие значения (от 0 до 100), используя параметр Значение процентиля.
  • RANGEВычисляет диапазон (разницу между наибольшим и наименьшим значением) значений ячеек в окрестности.
  • STDВычисляет стандартное (среднеквадратическое) отклонение значений ячеек в окрестности.
  • SUMВычисляет сумму значений ячеек в окрестности.
  • VARIETYВычисляет разнообразие (количество уникальных значений) значений ячеек в окрестности.

Типом статистики по умолчанию является Среднее.

Если значения входного растра целочисленные, доступно использование всех типов статистики. Если значения входного растра с плавающей точкой, доступна только статистика Среднее, Максимум, Медиана, Минимум, Процентиль, Диапазон, Стандартное отклонение и Сумма.

String
ignore_nodata
(Дополнительный)

Определяет, игнорируются ли в вычислениях статистики значения NoData.

  • DATAЕсли в окрестности есть значение NoData, значение NoData будет проигнорировано. При определении статистики значений будут использованы только ячейки, имеющие определенное значение. Это означает, что если значение обрабатываемой ячейки равно NoData, обрабатываемая ячейка может получить значение в выходном растре, если этот параметр выбран. Это работает при условии, что хотя бы одна ячейка в окрестности имеет допустимое значение. Это значение по умолчанию.
  • NODATAЕсли какая-либо ячейка в окрестности имеет значение NoData, выходным значением обрабатываемой ячейки будет значение NoData. В этом случае, когда используется ключевое слово NoData, наличие значения NoData указывает на то, что для вычисления статистики значений в пределах окрестности информации недостаточно.
Boolean
percentile_value
(Дополнительный)

Вычисляемый процентиль. Значение по умолчанию – 90, для 90-го процентиля.

Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен Минимума в статистике, а 100-й процентиль эквивалентен Максимуму. Значение 50 даст по существу тот же результат, что и Медиана в статистике.

Эта опция доступна, только если для параметра statistics_type задано значение percentile. Если был указан какой-либо другой тип статистики, то этот параметр будет проигнорирован.

Double

Значение отраженного сигнала

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

Выходной растр фокальной статистики.

Raster

Пример кода

FocalStatistics, пример 1 (окно Python)

В этом примере вычисляется наименее часто возникающее значение в окрестности в форме кольца вокруг каждой ячейки входного растра.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"), 
                               "MINORITY", "NODATA")
outFocalStat.save("C:/output/focalstat01")
FocalStatistics, пример 2 (автономный скрипт)

В этом примере вычисляется наименее часто возникающее значение в окрестности 10 на 10 вокруг каждой ячейки входного растра.

# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
#    neighborhood.
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inRaster = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")

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

# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
                                     "")

# Save the output 
outFocalStatistics.save("C:/output/focalstatout")

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

  • Basic: Требуется Image Analyst or Spatial Analyst
  • Standard: Требуется Image Analyst or Spatial Analyst
  • Advanced: Требуется Image Analyst or Spatial Analyst

Связанные разделы