Как работают инструменты Зональной статистики

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

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

Операция зональной статистики вычисляет статистические показатели для значений ячеек растра (растр значений), попадающих в пределы зон, определяемые другим набором данных. Существуют два инструмента, вычисляющие статистику по зонам, Зональная статистика и Зональная статистика в таблицу.

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

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

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

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

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

Пример входных и выходных данных инструмента Зональная статистика
Показаны примеры входных и выходных данных инструмента Зональная статистика. Ячейки светло-серого цвета содержат значения NoData.

Каким образом ячейки растра значений идентифицируются растром зон

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

Растр зон, накладывающийся на растр значений, показывает, какие ячейки извлекаются
Растр зон, накладывающийся на растр значений, показывает, какие ячейки извлекаются.

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

Если в параметрах среды геообработки указаны размер ячейки, растр привязки, выходная система координат или комбинация этих параметров, зональная операция будет выполнена в окне анализа, сформированном по этим параметрам. Для дополнительной информации см. Что такое окно анализа в дополнительном модуле Spatial Analyst.

Каким образом ячейки растра значений идентифицируются векторными объектами зон

Фундаментально зональная операция является растровым анализом, и выполняется для двух растров, один из которых является растром зон, а другой – растром значений. Если зоны определяются векторными объектами – сначала выполняется внутренняя конвертация объектов в растр. Внутренняя конвертация полигонов зон использует метод центра ячейки в инструменте Полигон в растр для растеризации входного слоя с использованием растра значения в качестве определяющего размер ячейки и растр привязки. Это может привести к неожиданным результатам, например, отсутствию принадлежности к зоне, если центр ячейки растеризованного грида не попадет ни в одну область зоны. Это может произойти, если зона меньше области ячейки получившегося растра зон, а также в случае с большими зонами.

В примере ниже на рисунке (1) показаны входные объекты зон, входной растр значений и центры его ячеек. Входные объекты представляют три зоны (желтые фигуры), и для них верны следующие утверждения:

  • zone1 больше, чем отдельная ячейка.
  • zone2 и zone3 меньше, чем отдельная ячейка.
  • Центры ячеек попадает за пределы zone2, но в пределы zone3.

В процессе растеризации объектов зон (рисунок 2), так как ни один центр ячейки не попадает в пределы zone1 и zone2, растеризуется только zone3, а остальные две зоны просто исчезнут.

Внутренняя конвертация объектов зон в процессе вычисления зональной статистики
Показана внутренняя конвертация объектов зон в процессе вычисления зональной статистики.

Чтобы избежать исчезновения зон в выходных данных, необходимо убедиться, что каждая зона содержит один или более центров ячеек растра значений. Один из способов сделать это – создать больше центров ячеек, указав меньший размер ячейки в параметрах среды. Размер ячейки анализа по умолчанию соответствует размеру растра значений. Поэтому, если вы укажете размер ячейки в параметрах среды анализа меньше, чем в растре значений, вы сможете захватить большее число зон (показано на рисунке 3). Имейте в виду, что если вы укажете меньший размер ячейки, выходной растр будет большего размера. Более высокий уровень разрешения выходных данных не даст вам возможности получить выходные данные более высокого качества, так как подробная детализация все равно отсутствует во входном растре значений.

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

Если в параметрах среды геообработки указаны размер ячейки, растр привязки, выходная система координат или комбинация этих параметров, зональная операция, включая внутреннюю конвертацию объектов в растр будет выполнена в окне анализа, сформированном по этим параметрам. Для дополнительной информации см. Что такое окно анализа в дополнительном модуле Spatial Analyst.

Вычисление зональной статистики для многомерных растров

Многомерные растровые данные представляют данные в несколько моментов времени и/или на различных глубинах или высотах. Этот тип данных обычно используется в различных исследованиях, в частности, изучении атмосферных, океанографических и почвенных процессов, данные снимаются на платформах мониторинга, собираются спутниками или генерируется на основе численных имитационных моделей, в которых данные обрабатываются, агрегируются или интерполируются с использованием различных статистических методов. Более подробно о работе с многомерными растрами см. Обзор многомерных растровых данных.

Инструменты Зональная статистика и Зональная статистика в таблицу поддерживает многомерные растры в качестве входных данных зон и значений. Зональная статистика вычисляется для всех срезов многомерного растра, если включен параметр Обработать как многомерный (ALL_SLICES в параметре process_as_multidimensional в Python). Если параметр Обработать как многомерный отключен (CURRENT_SLICES в Python), обрабатывается только текущий срез.

Примеры зональной статистики для многомерных данных:

  • Метеоролог хочет получить подробную информацию о продвижении урагана и распределении осадков вдоль трека урагана за определенный период времени. Используя многомерную обработку в инструменте Зональная статистика метеоролог может вычислить средний уровень осадков для каждого временного среза в зонах урагана, которые меняются с течением времени.
  • Эколог хочет оценить распределение экстремумов по максимальным суточным объемам осадков за последние 30 лет для конкретного речного бассейна. Можно использовать инструмент Зональная статистика в таблицу с выбранным типом статистики Процентиль для списка значений процентиля, чтобы оценить распределение максимального суточного объема осадков по временным рядам, при обработке как многомерные данные.

Поддерживаемые многомерные растровые данные включают следующие типы: многомерный растровый слой, многомерную мозаику, сервисы изображений и Esri CRF.

Для добавления многомерного растрового слоя в ArcGIS Pro используйте опцию Добавить данные > Многомерный растровый слой на вкладке Карта. Или используйте инструмент Создать многомерный растровый слой, выберите нужную переменную для зональной операции и создайте многомерный растровый слой.

Добавление многомерного слоя данных.
Опция Многомерный растровый слой выбрана на вкладке Карта.

Многомерные выходные данные зональной статистики

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

Вы можете изучить многомерную информацию растра в панели свойств. Вы также можете использовать свойство mdinfo объекта Raster в ArcPy для более подробного изучения измерений, числа значений измерений, и общего числа срезов в переменной.

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

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

Многомерные растры зон и значений с одинаковыми измерениями

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

На рисунке ниже переменные в растрах зон и значений содержат одинаковые три измерения, x, y и d и одинаковое число срезов в измерении d0, d1 и d2. Переменная в выходном многомерном растра также содержит три измерения x, y и d, и то же число срезов в измерении d0, d1 и d2.

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

Общее число записей выходной таблицы инструмента Зональная статистика в таблицу определяется числом зон в каждом срезе. Если число зон на глубинах d0, d1 и d2 равно 5, 4 и 3, соответственно, общее число записей будет 12 (5 + 4 + 3 = 12).

Многомерные растры зон и значений с различными измерениями

Подходящее значение и временной интервал для развертывания оборудования, такого как оборудования с дистанционным управлением (ROV), может быть определено с помощью зональной статистики, использующей многомерный растр зон, представляющий возможные места размещения ROV в разное время, и многомерный растр значений, например, выходные данные модели Hybrid Coordinate Ocean Model (HYCOM), представляющий океанские течения на различных глубинах в разное время.

Зональная операция выполняется для каждого среза растра зон для каждого среза растра значений. Число срезов в выходном многомерном растре определяется произведением числа срезов в растре зон на число срезов в растре значений.

На рисунке ниже переменная в растре зон содержит три измерения, x, y и d и три среза в значениях измерений, d0, d1 и d2. Переменная в растре значений содержит три измерения, x, y и t и два среза в значениях измерений t0 и t1. Переменная в выходном многомерном растра также будет содержать четыре измерения - x, y, d и t.

Многомерные растры зон и значений с различными измерениями
Показаны многомерные растры зон и значений с различными размерностями, с результирующим растром зональной статистики.

Общее число срезов в выходных данных инструмента Зональная статистика определяется умножением числа глубин в растре зон и числа временных шагов в растре значений, что в данном случае равно 6 (3 глубины x 2 шага = 6). Общее число записей выходной таблицы инструмента Зональная статистика в таблицу определяется умножением числа зон в каждом срезе. Если число зон равно 5, общее число записей будет 30 (5 зон x 3 глубины x 2 шага = 30).

Многомерный растр только значений

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

На рисунке ниже переменные в растре зон содержат три измерения, x, y и t и три среза в значениях измерений, t0, t1 и t2. Переменная в выходном многомерном растра также содержит три измерения x, y и t, и то же число срезов в измерении t0, t1 и t2.

Обработка многомерного растра значений
Обработка многомерного растра значений.

Общее число записей выходной таблицы инструмента Зональная статистика в таблицу определяется произведением числа зон на число срезов в растре значений. Если число зон равно 5, общее число записей будет – 15 (5 x 3 = 15).

Многомерный растр только зон

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

На рисунке ниже переменные в растре зон содержат три измерения, x, y и t и три среза в значениях измерений, t0, t1 и t2. Переменная в выходном многомерном растра также содержит три измерения x, y и t, и то же число срезов в измерении t0, t1 и t2.

Обработка многомерного растра зон
Обработка многомерного растра зон.

Общее число записей выходной таблицы инструмента Зональная статистика в таблицу определяется произведением числа зон на число срезов в растре зон. Если число зон равно 5, общее число записей будет – 15 (5 x 3 = 15).

Статистика

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

Большинство

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

Пример:

Иллюстрация Зональная статистика – большинство
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Majority")

Максимум

  • Самое большое значение каждой зоны присваивается всем ячейкам этой зоны.

Пример:

Иллюстрация Зональная статистика – максимум
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Maximum")

Среднее

  • Среднее значение каждой зоны присваивается всем выходным ячейкам этой зоны.

Пример:

Иллюстрация Зональная статистика – среднее
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Mean")

Медиана

  • Медиана значений каждой зоны присваивается всем выходным ячейкам этой зоны.
  • Значения для статистических показателей вычисляются с использованием метода Q1 – см. Hyndman and Fan (1996) [1]. Если два отсортированных значения одинаково близки к целевому медианному значению, выбирается меньшее.
  • Для вычисления значения медианы все ячейки в зоне ранжируются. Если количество ячеек в зоне – n, и число n – нечетное, то для каждой ячейки в зоне записывается среднее значение ((n +1)/2). Если количество ячеек четное, выходное значение будет равно (n/2).

Пример:

Иллюстрация Зональная статистика – медиана
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Median")

Минимум

  • Минимальное значение каждой зоны присваивается всем ячейкам этой зоны.

Пример:

Иллюстрация Зональная статистика – минимум
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Minimum")

Меньшинство

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

Пример:

Иллюстрация Зональная статистика – меньшинство
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Minority")

Процентиль

  • Значение процентиля каждой зоны присваивается всем выходным ячейкам этой зоны.
  • Значения статистического показателя вычисляются с использованием метода Q1 – см. Hyndman and Fan (1996) [1]. Если два отсортированных значения одинаково близки к целевому медианному значению, выбирается меньшее.
  • Для вычисления процентиля все ячейки растра значений ранжируются по следующей формуле: R = P/100 x (n - 1) +1, где P – желаемая величина процентиля, и n – число ячеек.

Пример:

Иллюстрация Зональная статистика – процентиль
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Percentile")

Диапазон

  • Разница между максимальным и минимальным значениями каждой зоны присваиваются всем ячейкам этой зоны.
  • Диапазон определяется следующим образом:
    Zonal Range = Zonal Maximum – Zonal Minimum

Пример:

Иллюстрация Зональная статистика – диапазон
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Range")

Среднеквадратичное отклонение

  • Всем ячейкам этой зоны присваивается Среднеквадратическое отклонение значений каждой зоны.
  • Формула расчета средне-квадратичного отклонения:

    Формула средне-квадратичного отклонения

    Примечание:

    Средне-квадратичное отклонение вычислено для всей популяции (метод N), а не для выборки (метод N-1). Для сравнения, вычисление стандартного отклонения равняется STDEVP, а не STDEV, методу в Microsoft Excel.

Пример:

Иллюстрация Зональная статистика – средне-квадратическое отклонение
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "STD")

Сумма

  • Сумма всех значений ячеек каждой зоны присваивается всем ячейкам этой зоны.
  • Тип данных выходного растра – числа с плавающей точкой. Причина этого – тенденция к очень большому значению суммы, и существует вероятность того, что это значение будет невозможно представить в виде целого числа.

    Для примера рассмотрим зону, размер которой составляет 2500 строк на 2500 столбцов, и значение в каждой ячейке равно 1000. Сумма для этой зоны будет равна 2500 x 2500 x 1000 = 6,25 миллиардов. Если в качестве выходных данных должны быть получены целые числа, а диапазон значений составляет ± 2.147 миллиардов, вы можете применить инструмент Целое (Int).

Пример:

Иллюстрация Зональная статистика – сумма
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Sum")

Разнообразие

  • Количество уникальных значений в каждой зоне присваивается всем ячейкам этой зоны

Пример:

Иллюстрация Зональная статистика – разнообразие
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "Variety")

Тип выходных данных

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

СтатистикаТип входных значенийВыходные данные

Большинство

Целочисленное*

Целочисленное

Максимум

Целочисленный, С плавающей точкой

То же, что Значение

Среднее

Целочисленный, С плавающей точкой

С плавающей точкой

Медиана

Целочисленный, С плавающей точкой

Целочисленное

Минимум

Целочисленный, С плавающей точкой

То же, что Значение

Меньшинство

Целочисленное*

Целочисленное

Процентиль

Целочисленный, С плавающей точкой

Целочисленное

Диапазон

Целочисленный, С плавающей точкой

То же, что Значение

Среднеквадратичное отклонение

Целочисленный, С плавающей точкой

С плавающей точкой

Сумма

Целочисленный, С плавающей точкой

С плавающей точкой

Разнообразие

Целочисленное*

Целочисленное

Входные и выходные типы по статистике
* Поддерживаются только целочисленные значения.

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

Литература

[1] Rob J. Hyndman and Yanan Fan (1996) "Sample Quantiles in Statistical Packages" The American Statistician, Vol. 50, No. 4 (Nov., 1996), pp. 361-365.

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