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

Доступно с Image Server

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вычисление арифметической и круговой статистики

Вычисление среднего по сумме всех значений ячеек, разделенное на число ячеек хорошо работает с данными типа высот. Но если ваши данные представляют циклические количества, например экспозиция (направление в диапазоне от 0 до 360 градусов) или часы в сутках (от 0 до 24 часов), вычисление арифметического среднего может дать некорректный результат, так как минимальное и максимальное значение соответствует одному и тому же количеству. Для такого типа данных вы используете вычисление круговой статистики.

Например, если вы вычисляете среднее для двух значений ячеек, 0 и 360 - арифметическое среднее будет равно 180 градусов. Это неверно, так как 0 и 360 градусов представляет одно и тоже компасное направление. Корректная статистика будет получена, если вычислено круговое среднее, которое будет равно 0 градусов.

Вы можете указать вычисление круговой статистики, отметив Вычислить круговую статистику (circular_calculation = "CIRCULAR" в Python). При вычислении круговой статистики обратите внимание на минимальное и максимальное значения для циклических данных. Минимальное значение должно быть 0. Максимальное значение можно указать в параметре Значение обхвата окружности (circular_wrap_value in Python). Значение по умолчанию для этого параметра равно 360.

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

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

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

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

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

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

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

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

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

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

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

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

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

Среднее

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

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

    , где:

    • = среднее
    • xi = наблюдаемые значения
    • N = число наблюдений
  • Формула кругового среднего:

    Формула кругового среднего

    , где:

    • = круговое среднее
    • xi = наблюдаемые значения
    • N = число наблюдений

    В самом худшем случае, если Σsin xi и Σcos xi равны 0, используется специальное значение "-1", указывающее на то, что круговое среднее не четко определено.

Пример:

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

Медиана

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

Пример:

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

Диапазон

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

Пример:

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

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

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

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

    , где:

    • σ = среднеквадратическое отклонение
    • xi = наблюдаемые значения
    • = среднее
    • N = число наблюдений
    Примечание:

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

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

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

    , где:

    • σ = Круговое среднеквадратическое отклонение
    • = Средняя векторная длина вектора a

      В примере n углов в градусах, углы a1, a2, …, an суммируются, и каждый угол представлен единичным вектором, Vector a, который указывает на направление соответствующих наблюдений.

Пример:

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

Сумма

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

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

Пример:

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

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

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

Пример:

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

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

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

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

Большинство

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

Integer

Максимум

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

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

Среднее

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

Float

Медиана

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

Integer

Минимум

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

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

Меньшинство

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

Integer

Процентиль

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

Integer

Диапазон

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

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

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

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

Float

Сумма

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

Float

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

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

Integer

Входные и выходные типы по статистике
Примечание:

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

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

Список литературы

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