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

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

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

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

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

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

Иллюстрация

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

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

  • Существует несколько форм окрестности и типов статистики для выбора. Доступная статистика зависит от типа входного растра.

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

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

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

  • Типы статистики, доступные для целочисленных входных растров: большинство, максимум, среднее, медиана, минимум, меньшинство, процентиль, диапазон, стандартное (среднеквадратическое) отклонение, сумма и разнообразие. Для входных растров с плавающей точкой доступные типы статистики: максимум, среднее, медиана, минимум, процентиль, диапазон, среднеквадратическое отклонение и сумма. Меньшинство, большинство и разнообразие недоступны.

  • Если входной растр целочисленный, выходной растр будет целочисленным для следующей статистики: большинство, максимум, минимум, меньшинство, диапазон, сумма и разнообразие. Выходной растр будет с плавающей точкой для следующих типов статистики: среднее, медиана, процентиль и среднеквадратическое отклонение.

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

  • Если в параметре Тип статистики установлена Медиана, а окрестность содержит нечетное число ячеек, значения ранжируются, и среднее значение записывается как медиана. Если число значений в окрестности четное, значения также ранжируются, и два серединных значения усредняются.

  • Если для Типа статистики установлено Большинство, а значение одной из ячеек в окрестности встречается чаще других (одно значение, которое встречается в большинстве ячеек) это значение возвращается для обрабатываемой ячейки. Если значения двух или более ячеек имеют одинаковую максимальную частоту встречаемости (деление поровну между значениями ячеек), значение большинства не может быть идентифицировано, и обрабатываемая ячейка получает значение NoData. Для типа Меньшинство, деление поровну наименьшей частоты встречаемости в окрестности обрабатываемой ячейки приведет к назначению ей значения NoData.

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

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

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Определяет, игнорируются ли в вычислениях статистики значения 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Будет вычислена Медиана для ячеек в окрестности. Медиана эквивалентна 50-му процентилю.
  • 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.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"), 
                               "MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
FocalStatistics, пример 2 (автономный скрипт)

В этом примере вычисляется наименее часто возникающее значение в окрестности 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")

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

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

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

  • Basic: Обязательно Spatial Analyst или Image Analyst
  • Standard: Обязательно Spatial Analyst или Image Analyst
  • Advanced: Обязательно Spatial Analyst или Image Analyst

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