Как работает инструмент Фокальная статистика

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

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

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

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

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

Пример

Чтобы проиллюстрировать обработку окрестности для инструмента Фокальная статистика путем расчета суммарной статистики, рассмотрим обработку ячейки со значением 5 на следующей диаграмме. Задаётся окрестность прямоугольной формы размером 3 на 3 ячейки. Сумма значений ячеек окрестности (3 + 2 + 3 + 4 + 2 + 1 + 4 = 19) плюс значение обрабатываемой ячейки (5) равняется 24 (19 + 5 = 24). Поэтому значение 24 дается ячейке выходного растра в том же местоположении, что и обрабатываемая ячейка входного растра.

Пример фокальной окрестности и обработки ячейки

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

Пример входных данных и выходных данных фокальной суммы

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

Инструмент Фокальная статистика обеспечивает контроль над типом окрестности и вычисляемой статистикой.

Типы окрестностей

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

Ниже рассматриваются различные формы окрестности и то, как они определяются:

  • Кольцо
    • Форма плоского кольца состоит из двух окружностей, одно внутри другого, формирующих форму бублика. В обрабатываемую окрестность будут включены ячейки, центры которых попадают за пределы круга меньшего радиуса, но внутрь круга большего радиуса. Поэтому, область между двумя окружностями становится окрестностью кольца.
    • Радиус определяется в ячейках или единицах карты и измеряется перпендикулярно оси x или оси y. Если радиусы указаны в единицах карты, то они конвертируются в единицы ячеек. Итоговый радиус в единицах ячеек задаёт область, которая наиболее точно определит область, вычисленную с помощью исходного радиуса в единицах карты. Все ячейки, центры которых попадают между окружностями, будут включены в обрабатываемую окрестность.
    • Окружность кольца по умолчанию – внутренний радиус одной ячейки и внешний радиус трех ячеек.
    • Пример вычисления кольцевой окрестности:

    Иллюстрация обработки ячейки с кольцевой окрестностью по умолчанию
    Пример обработки ячейки с кольцевой окрестностью по умолчанию (внутренний радиус 1 ячейка, внешний радиус 3 ячейки).

  • Окружность
    • Окрестность в форме круга задаётся значением радиуса.
    • Радиус определяется в единицах ячеек или карты и измеряется перпендикулярно оси x или оси y. Если радиус задан в единицах карты, применяется дополнительная логика, чтобы определить ячейки, задействованные в обрабатываемой окрестности. Сначала рассчитывается точная площадь круга, определенного заданным значением радиуса. Затем определяется площадь для двух дополнительных кругов, причем в одном случае значение заданного радиуса округляется в меньшую сторону, а в другом – в большую сторону. Эти две площади сопоставляются с величиной, полученной для заданного радиуса, и выбирается радиус, для которого получен более близкий результат.
    • По умолчанию радиус окрестности круга равен 3 ячейкам.
    • Пример вычисления окрестности круга:

    Обработка ячейки с круглой окрестностью
    Пример обработки ячейки с круговой окрестностью (радиус = 2 ячейки).

  • Прямоугольник
    • Окрестность в форме прямоугольника задается путем указания ширины и высоты в ячейках или единицах измерения карты.
    • В обработку окрестности в форме прямоугольника будут включены только те ячейки, чей центр попадает в заданный объект.
    • По умолчанию прямоугольная окрестность является квадратом со стороной, равной трем ячейкам.
    • Положение x,y для обрабатываемой ячейки в пределах окрестности, по отношению к верхнему левому углу окрестности, определяется следующими уравнениями:

      x = (width of the neighborhood + 1)/2 y = (height of the neighborhood + 1)/2

      Если число входных ячеек четное, координаты x,y округляются в меньшую сторону. Например, при использовании окрестности 5 на 5 ячеек, значения x и y будут равны 3,3. При использовании окрестности 4 на 4 ячейки значения x и y будут равны 2,2.

    • Ниже приведены примеры двух прямоугольных окрестностей:

    Иллюстрация обработки ячейки с прямоугольной окрестностью
    Обработка ячейки с двумя примерами прямоугольной окрестности.

  • Клин
    • Клин – это окрестность в форме клина, определяемая радиусом, начальным и конечным углами.
    • Клин строится в направлении против часовой стрелки от начального угла до конечного угла. Углы задаются в арифметических градусах от 0 до 360, где 0 находится на положительной x-оси (3:00 часа), и могут быть как целочисленными, так и с плавающей точкой. Можно использовать отрицательные значения углов.
    • Радиус определяется в ячейках или единицах карты и измеряется перпендикулярно оси x или оси y. Если радиус указан в единицах карты, то они конвертируются в единицы ячеек. Итоговый радиус в единицах ячеек задаёт область, которая наиболее точно представляет область, определенную ранее в единицах карты. Все ячейки, центры которых попадают в клин, будут включены в обрабатываемую окрестность.
    • Клиновидная окрестность по умолчанию имеет углы от 0 до 90 градусов, с радиусом, равным трем ячейкам.
    • Пример вычисления клиновидной окрестности:

    Пример обработки ячейки с клиновидной окрестностью
    Пример обработки ячейки с клиновидной окрестностью по умолчанию (радиус 3 ячейки, начальный угол 0, конечный угол 90).

  • Нерегулярно
    • Используется для определения вокруг обрабатываемой ячейки окрестности неправильной формы.
    • То, какие ячейки будут включены в окрестность, определяет керн-файл для окрестности неправильной формы.
    • Положение x,y для обрабатываемой ячейки в пределах окрестности, по отношению к верхнему левому углу окрестности, определяется следующими уравнениями:

      x = (width + 1)/2 y = (height + 1)/2

      Если число входных ячеек четное, координаты x,y округляются в меньшую сторону.

    • Керн-файл в окрестности неправильной формы:

      • Керн-файл для окрестности неправильной формы представляет собой текстовой ASCII-файл формата, который определяет значения и форму окрестности неправильной формы. Файл можно создать с помощью любого текстового редактора.
      • Первая строка задаёт ширину высоту окрестности (количество ячеек в направлении x, затем пробел, затем количество ячеек в направлении y).
      • Последующие строки содержат значения для каждого положения ячейки окрестности. Значения вводятся в той же конфигурации, в которой они появляются в представляемой ими окрестности. Пробел между значениями является обязательным.
      • Значения в керн-файле должны быть равны 0 (нулю) или 1 (единице). При этом, любое значение, которое не равно 0, будет проинтерпретировано как 1.
      • Нулевое значение (не пробел) для положения ячейки указывает на то, что ячейка не является частью окрестности, и что она не будет включена в обработку. Значение, равное 1, указывает на то, что соответствующая ему ячейка (и ее значение) является частью окрестности.

    • Пример ASCII керн-файла и окрестности неправильной формы, которую он описывает:

    Иллюстрация обработки ячейки с окрестностью неправильной формы
    Пример обработки ячейки с окрестностью неправильной формы.

  • Вес
    • Так же как и с нерегулярной окрестностью, взвешенная окрестность позволяет задавать вокруг обрабатываемой ячейки окрестности неправильной формы, но также позволяет применять к входным значениям веса.
    • Керн-файл весов задает, какие ячейки будут включены в окрестность, а также веса, на которые будут умножены значения ячеек.
    • Взвешенная окрестность может использоваться только для статистики: среднее, Среднеквадратическое отклонение и сумма.
    • Положение x,y для обрабатываемой ячейки в пределах окрестности, по отношению к верхнему левому углу окрестности, определяется следующими уравнениями:

      x = (width + 1)/2 y = (height + 1)/2

      Если число входных ячеек четное, координаты x,y округляются в меньшую сторону.

    • Керн-файл во взвешенной окрестности:

      • Керн-файл для окрестности типа Вес представляет собой текстовой ASCII-файл формата, который определяет значения и форму окрестности "Вес". Файл можно создать с помощью любого текстового редактора.
      • Первая строка задаёт ширину высоту окрестности (количество ячеек в направлении x, затем пробел, затем количество ячеек в направлении y).
      • Последующие строки содержат значения для каждого положения ячейки окрестности. Значения вводятся в той же конфигурации, в которой они появляются в представляемой ими окрестности. Положительные, отрицательные и десятичные значения являются корректными опциями в качестве весов. Пробел между значениями является обязательным.
      • Для местоположений в окрестности, которые не участвуют в вычислениях, используйте для соответствующего местоположения в керн-файле значение, равное 0.

    • Пример ASCII керн-файла весов и окрестности типа "Вес", которую он описывает:

    Иллюстрация обработки ячейки со взвешенной окрестностью
    Пример обработки ячейки со взвешенной окрестностью.

Тип статистики

Доступная статистика: Большинство (Majority), Максимум (Maximum), Среднее (Mean), Медиана (Median), Минимум (Minimum), Меньшинство (Minority), Диапазон (Range), Стандартное (среднеквадратическое) отклонение (STD) и Сумма (Sum). Тип статистики, используемый по умолчанию – Среднее.

  • Большинство
    • Входными данными могут быть только целочисленные растры.
    • Сначала определяется частота каждого уникального значения ячейки в окрестности. Если имеется только одно значение, которое имеет наивысшую частоту (наиболее частое), это значение возвращается как выходное для данной ячейки. Однако может возникнуть ситуация, когда два и более значений имеют максимальную частоту. В этом случае, обрабатываемая ячейка в выходном растре получит значение NoData.
  • Максимум
    • Если входной растр целочисленный, значения на выходном растре будут целочисленными; если значения на входном растре представлены числами с плавающей точкой, значения на выходном растре будут также представлены числами с плавающей точкой.
  • Среднее
    • Это может быть целочисленный растр или растр с плавающей точкой.
    • Выходной растр всегда будет представлен числами с плавающей точкой.
    • Тип статистики Среднее может быть использован с типом окрестности Вес.
  • Медиана
    • Это может быть целочисленный растр или растр с плавающей точкой.
    • Выходной растр всегда будет представлен числами с плавающей точкой.
    • Когда количество действительных значений ячеек в окрестности нечетное, значение медианы вычисляется путем ранжирования значений и выбора среднего значения. Если число значений в окрестности четное, значения ранжируются, и находится среднее для двух срединных значений.
  • Минимум
    • Если входной растр целочисленный, значения на выходном растре будут целочисленными; если значения на входном растре представлены числами с плавающей точкой, значения на выходном растре будут также представлены числами с плавающей точкой.
  • Меньшинство
    • Входными данными могут быть только целочисленные растры.
    • Сначала определяется частота каждого уникального значения ячейки в окрестности. Если имеется только одно значение, которое имеет наименьшую частоту (наименее частое), это значение возвращается как выходное для данной ячейки. Однако может возникнуть ситуация, когда два и более значений имеют минимальную частоту. В этом случае, обрабатываемая ячейка в выходном растре получит значение NoData.
  • Процентиль
    • Это может быть целочисленный растр или растр с плавающей точкой.
    • Выходной растр всегда будет представлен числами с плавающей точкой.
    • Результат статистики процентиля вычисляется по следующей формуле (Hyndman and Fan, 1996):
      pk = (k-1)/(n-1)
  • Интервал
    • Если входной растр целочисленный, значения на выходном растре будут целочисленными; если значения на входном растре представлены числами с плавающей точкой, значения на выходном растре будут также представлены числами с плавающей точкой.
    • Значения для местоположения каждой ячейки на выходном растре определяются по принципу "ячейка-за-ячейкой" путём применения простой формулы:
      Focal Range = Focal Maximum – Focal Minimum
  • Среднеквадратичное отклонение
    • Выходной растр всегда будет представлен числами с плавающей точкой.
    • Тип статистики Среднеквадратическое отклонение может быть использован с взвешенной окрестностью.
    • Обратите внимание, что средне-квадратическое отклонение вычислено для всей популяции (метод N), а не для выборки (метод N-1).
  • Сумма
    • Если входной растр целочисленный, значения на выходном растре будут целочисленными; если значения на входном растре представлены числами с плавающей точкой, значения на выходном растре будут также представлены числами с плавающей точкой.
  • Разнообразие
    • Входными данными могут быть только целочисленные растры.

Обрабатываемые ячейки NoData

Параметр Игнорировать значение NoData при вычислениях (Ignore NoData in calculations) определяет, как в окне окрестности обрабатываются ячейки со значением NoData. Если эта опция включена (опция DATA) любые ячейки NoData в окрестности будут игнорироваться в вычислениях выходного значения ячейки. Если опция не включена (опция NODATA), то при наличии в окрестности ячейки NoData выходная ячейка также будет NoData.

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

Справочная информация

  • Hyndman, R.J. and Fan, Y. (November 1996). "Sample Quantiles in Statistical Packages", The American Statistician 50 (4): pp. 361-365.

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