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

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

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

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

Иллюстрация

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

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

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

  • Доступные формы окрестностей: кольцо (пончик), круг, прямоугольник и клин. Пользовательская форма окрестности может задаваться керн-файлом.

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

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

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

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

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

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

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

  • Для дополнительной информации о вычислении большинства и меньшинства см. раздел Как работает Фокальная статистика.

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

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

Параметры

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

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

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

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

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

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

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

    Окрестность в форме кольца (пончика), определяемая внутренним и внешним радиусами. Минимальное значение радиуса — 1 ячейка, а внешний радиус должен быть больше внутреннего. Максимальный внутренний радиус — 2046 ячеек, а максимальный внешний радиус — 2047 ячеек. Кольцо по умолчанию характеризуется внутренним радиусом, равным 1 ячейке, и внешним радиусом, равным 3 ячейкам.

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

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

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

    Прямоугольная окрестность, определенная высотой и шириной. Минимальное значение ширины или высоты — 1 ячейка, максимальное — 4096 ячеек. По умолчанию – это квадрат со стороной, равной 3 ячейкам.

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

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

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

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

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

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

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

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

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

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

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

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

  • СреднееБудет вычислено среднее (среднее значение) ячеек в окрестности.
  • БольшинствоБудет определено Большинство (значение, встречающееся чаще всего) для ячеек в окрестности.
  • МаксимумБудет определен Максимум (наибольшее значение) для ячеек в окрестности.
  • МедианаБудет вычислена Медиана для ячеек в окрестности. Медиана эквивалентна 50-му процентилю.
  • МинимумБудет определен Минимум (наименьшее значение) для ячеек в окрестности.
  • МеньшинствоБудет определено Меньшинство (значение, встречающееся реже всего) для ячеек в окрестности.
  • ПроцентильБудет вычислено значение процентиля для ячеек в окрестности. Девяностый процентиль вычисляется по умолчанию. Вы можете задать другие значения (от 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})

    Окрестность в форме кольца (пончика), определяемая внутренним и внешним радиусами. Минимальное значение радиуса — 1 ячейка, а внешний радиус должен быть больше внутреннего. Максимальный внутренний радиус — 2046 ячеек, а максимальный внешний радиус — 2047 ячеек. Кольцо по умолчанию характеризуется внутренним радиусом, равным 1 ячейке, и внешним радиусом, равным 3 ячейкам.

  • NbrCircle({radius}, {units}

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

  • NbrRectangle({width}, {height}, {units})

    Прямоугольная окрестность, определенная высотой и шириной. Минимальное значение ширины или высоты — 1 ячейка, максимальное — 4096 ячеек. По умолчанию – это квадрат со стороной, равной 3 ячейкам.

  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})

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

  • NbrIrregular(inKernelFile)

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

  • NbrWeight(inKernelFile)

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

Для окрестностей 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 указывает на то, что для вычисления статистики значений в пределах окрестности информации недостаточно.
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")

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