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

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

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

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

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

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

Иллюстрация

Входные и выходные значения в инструменте Фокальная статистика для вычисляемой статистики Сумма
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,MAP), "SUM", "")

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

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

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

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входной растр

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

Raster Layer
Окрестность
(Дополнительный)

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

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

Доступны следующие формы типов окрестностей:

  • Кольцо, Внутренний радиус, Внешний радиус, Тип единиц

    Окрестность в форме кольца, определяемая внутренним радиусом и внешним радиусом. Кольцо по умолчанию – внутренний радиус одной ячейки и внешний радиус трех ячеек.

  • Круг, Радиус, Тип единиц

    Круговая окрестность с заданным радиусом. Значение радиуса по умолчанию равно трем ячейкам.

  • Прямоугольник, Высота, Ширина, Тип единиц

    Прямоугольная окрестность, определенная высотой и шириной. Прямоугольная окрестность по умолчанию – квадрат со стороной три ячейки.

  • Клин, Радиус, Начальный угол, Конечный угол, Тип единиц

    Окрестность в форме клина определяется радиусом, начальным углом и конечным углом. Клин строится в направлении против часовой стрелки от начального угла до конечного угла. Углы задаются в градусах, величина равная 0 или 360 представляет восток. Можно использовать отрицательные значения углов. Клин по умолчанию имеет значение от 0 до 90 градусов, с радиусом, равным трем ячейкам.

  • Нерегулярный, Керн-файл

    Пользовательская окрестность с характеристиками, заданными определенным текстовым керн-файлом.

  • Вес, Керн-файл

    Пользовательская окрестность с характеристиками, заданными определенным текстовым керн-файлом, который может применять веса к элементам окрестности.

Для типов окрестности кольцо, окружность, прямоугольник и клин единицы расстояния для параметров могут быть заданы в единицах Ячейка или единицах Карта. По умолчанию используются единицы ячейки.

Для керн-окрестностей первая строка в керн-файле определяет ширину и высоту окрестностей, заданные числом ячеек. Последующие строки показывают, как будет обрабатываться входное значение, которое соответствует расположению в керн-файле. Значение 0 в керн-файле либо для нерегулярного типа окрестностей, либо для типа вес показывает, что соответствующее расположение не будет включено в вычисление. Для нерегулярной окрестности значение 1 в керн-файле показывает, что соответствующая входная ячейка будет включена в операцию. Для окрестности Вес значение в каждой позиции показывает, на что должно быть умножено значение соответствующей входной ячейки. Могут использоваться положительные или отрицательные десятичные значения.

Neighborhood
Тип статистики
(Дополнительный)

Задает вычисляемый тип статистики.

  • Среднее —Будет вычислено среднее (среднее значение) ячеек в окрестности.
  • Большинство —Будет определено Большинство (значение, встречающееся чаще всего) для ячеек в окрестности.
  • Максимум —Будет определен Максимум (наибольшее значение) для ячеек в окрестности.
  • Медиана —Будет вычислена Медиана для ячеек в окрестности.
  • Минимум —Будет определен Минимум (наименьшее значение) для ячеек в окрестности.
  • Меньшинство —Будет определено Меньшинство (значение, встречающееся реже всего) для ячеек в окрестности.
  • Процентиль —Будет вычислено значение процентиля для ячеек в окрестности. Девяностый процентиль вычисляется по умолчанию. Вы можете задать другие значения (от 1 до 100) с помощью параметра Значение процентиля.
  • Интервал —Будет вычислен Диапазон (разница между наибольшим и наименьшим значением) для ячеек в окрестности.
  • Среднеквадратическое отклонение —Будет вычислено стандартное отклонение для ячеек в окрестности.
  • Сумма —Будет вычислена сумма ячеек в окрестности.
  • Разнообразие —Будет вычислено разнообразие (количество уникальных значений) значений ячеек в окрестности.
String
Игнорировать значение NoData при вычислениях
(Дополнительный)

Устанавливает, будут ли игнорироваться в вычислениях статистики значения NoData.

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

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

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

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

Double

Возвращаемое значение

ПодписьОписаниеТип данных
Выходной растр

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

Raster

FocalStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata}, {percentile_value})
ИмяОписаниеТип данных
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})

    Окрестность в форме клина определяется радиусом, начальным углом и конечным углом. Клин строится в направлении против часовой стрелки от начального угла до конечного угла. Углы задаются в градусах, величина равная 0 или 360 представляет восток. Можно использовать отрицательные значения углов. Клин по умолчанию имеет значение от 0 до 90 градусов, с радиусом, равным трем ячейкам.

  • NbrIrregular(inKernelFile)

    Пользовательская окрестность с характеристиками, заданными определенным текстовым керн-файлом.

  • NbrWeight(inKernelFile)

    Пользовательская окрестность с характеристиками, заданными определенным текстовым керн-файлом, который может применять веса к элементам окрестности.

Для окрестностей NbrAnnulus, Nbrcircle, NbrRectangle и NbrWedge единицы расстояния для параметров заданы в единицах CELL или единицах MAP. По умолчанию используются единицы ячейки.

Для керн-окрестностей первая строка в керн-файле определяет ширину и высоту окрестностей, заданные числом ячеек. Последующие строки показывают, как будет обрабатываться входное значение, которое соответствует расположению в керн-файле. Значение 0 в керн-файле либо для нерегулярного типа окрестностей, либо для типа вес показывает, что соответствующее расположение не будет включено в вычисление. Для нерегулярной окрестности значение 1 в керн-файле показывает, что соответствующая входная ячейка будет включена в операцию. Для окрестности Вес значение в каждой позиции показывает, на что должно быть умножено значение соответствующей входной ячейки. Могут использоваться положительные или отрицательные десятичные значения.

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

Задает вычисляемый тип статистики.

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

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

Если входной растр целочисленный, доступно использование всех типов статистики. Когда поле содержит значения с плавающей точкой, единственные доступные типы статистики – это MEAN, MAXIMUM, MEDIAN, MINIMUM, PERCENTILE, RANGE, STD и SUM.

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

Устанавливает, будут ли игнорироваться в вычислениях статистики значения NoData.

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

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

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

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

Double

Возвращаемое значение

ИмяОписаниеТип данных
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

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