Зональная статистика в таблицу (Spatial Analyst)

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

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

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

Суммирует значения растра в пределах зон другого набора данных и записывает результаты в таблицу.

Более подробно о работе инструментов зональной статистики

Иллюстрация

Иллюстрация работы инструмента Зональная статистика в таблицу
ZonalStatisticsAsTable(ZoneRas, "Value", ValRas, OutTable, "DATA", "MIN_MAX_MEAN")

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

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

  • Если Входные растровые или векторные данные зоны (in_zone_data в Python) являются растром, это должен быть целочисленный растр.

  • Если Входные растровые или векторные данные зоны векторные, они будут конвертированы в растр с использованием размера ячейки и выравнивания ячеек из параметра Входной растр значений (in_value_raster в Python).

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

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

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

  • Если Входные растровые или векторные данные зоны представлены точечными объектами, в каждой конкретной ячейке входного растра значений может быть больше одной точки. Для таких ячеек значение зоны определяется точкой с наименьшим значением ObjectID (например, OID или FID).

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

  • При задании значения Входные растровые или векторные данные зон по умолчанию первое доступное целочисленное или текстовое поле выбирается полем зоны. Если других допустимых полей нет, по умолчанию используется поле ObjectID (например, OID или FID).

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

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

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

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

  • Для вычисления круговой статистики отметьте параметр Вычислить круговую статистику (circular_calculation = "CIRCULAR" в Python) и укажите для параметра Значение обхвата окружности (circular_wrap_value в Python).

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

  • В выходной таблице будет создано поле или ряд полей, в зависимости от параметра Тип статистики (statisticType в Python).

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

    Тем не менее для циклической статистики, для имени поля предусмотрен префикс C_, за которым следует указанная статистика. Например, имя поля будет Median для арифметической медианы и C_Median для циклической медианы.

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

  • Число строк в выходной таблице равно числу зон.

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

    Чтобы инструмент использовал меньшее число ядер, измените параметр среды Коэффициент параллельной обработки.

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

Параметры

ПодписьОписаниеТип данных
Входные растровые или векторные данные зон

Набор данных, который определяет зоны.

Зоны могут быть определены слоем целочисленного растра или векторным слоем.

Raster Layer; Feature Layer
Поле зоны

Поле, которое содержит значения, определяющие каждую зону.

Это может быть целочисленное или строковое поле набора данных зоны.

Field
Входной растр значений

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

Raster Layer
Выходная таблица

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

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

Table
Игнорировать значение NoData при вычислениях
(Дополнительный)

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

  • Отмечено - в любой зоне только ячейки, имеющие значение во входном растре значений, будут использованы при определении выходного значения для этой зоны. Ячейки NoData в растре значений будут игнорироваться в вычислении статистики. Используется по умолчанию.
  • Не отмечено - в любой конкретной зоне, если ячейки NoData существуют в растре значений, они не будут игнорироваться, и их наличие указывает на то, что информации недостаточно для выполнения статистических вычислений для всех ячеек в этой зоне. Следовательно, вся зона получит значение NoData.
Boolean
Тип статистики
(Дополнительный)

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

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

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

  • Не отмечено - статистика будет вычисляться на основе текущего фрагмента входного многомерного набора данных. Используется по умолчанию.
  • Отмечено – статистика будет вычисляться для всех измерений входного многомерного набора данных.
Boolean
Значения процентиля
(Дополнительный)

Процентиль, который будет вычислен. Значение по умолчанию – 90, определяющее 90-й процентиль.

Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен минимуму в статистике, а 100-й - максимуму. Значение 50 даст, по существу, тот же результат, что и медиана в статистике.

Эта опция доступна, только если для параметра Тип статистики задано Процентиль или Все.

Double
Тип интерполяции Процентиль
(Дополнительный)

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

  • Автоопределение—Если входной растр значений - целочисленный, используется метод Ближайший. Если тип пикселов входного растра - значение с плавающей точкой, используется Линейный метод. Используется по умолчанию.
  • Ближайший—Будет использоваться ближайшее доступное значение к заданному процентилю.
  • Линейный—Будет использоваться взвешенное среднее от двух соседних значений от заданного процентиля.
String
Вычислить круговую статистику
(Дополнительный)

Задает, как входной растр будет обрабатываться для круговых данных.

  • Не отмечено - вычисляется обычная линейная статистика. Используется по умолчанию.
  • Отмечено - вычисляется статистика для углов или других циклических величин, таких как направление по компасу в градусах, время дня или дробная часть действительного числа.
Boolean
Значение обхвата окружности
(Дополнительный)

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

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

Double
Выходной присоединяемый слой
(Дополнительный)

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

Raster Layer; Feature Layer

ZonalStatisticsAsTable(in_zone_data, zone_field, in_value_raster, out_table, {ignore_nodata}, {statistics_type}, {process_as_multidimensional}, {percentile_values}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value}, {out_join_layer})
ИмяОписаниеТип данных
in_zone_data

Набор данных, который определяет зоны.

Зоны могут быть определены слоем целочисленного растра или векторным слоем.

Raster Layer; Feature Layer
zone_field

Поле, которое содержит значения, определяющие каждую зону.

Это может быть целочисленное или строковое поле набора данных зоны.

Field
in_value_raster

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

Raster Layer
out_table

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

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

Table
ignore_nodata
(Дополнительный)

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

  • DATA—В любой зоне только ячейки, содержащие значение во входном растре значений, используются при определении выходного значения для этой зоны. Ячейки NoData в растре значений будут игнорироваться в вычислении статистики. Используется по умолчанию.
  • NODATA—В любой конкретной зоне, если ячейки NoData существуют в растре значений, они не будут игнорироваться, и их наличие указывает на то, что информации недостаточно для выполнения статистических вычислений для всех ячеек в этой зоне. Следовательно, вся зона получит значение NoData.
Boolean
statistics_type
(Дополнительный)

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

  • ALL—Будут вычисляться все типы статистики. Используется по умолчанию.
  • MEAN—Вычисляется среднее из значений всех ячеек в растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MAJORITY—Определяется значение, наиболее часто встречающееся в значениях всех ячеек в растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MAJORITY_COUNT—Вычисляется частота всех ячеек, содержащих значение большинства в растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MAJORITY_PERCENT—Вычисляется процент ячеек, содержащих значение большинства в растре значений, принадлежащих той же зоне, что и выходная ячейка.
  • MAXIMUM—Вычисляется наибольшее значение из всех ячеек в растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MEDIAN—Вычисляется значение медианы для значений всех ячеек в растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINIMUM—Вычисляется наименьшее значение из всех ячеек в растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINORITY—Вычисляется значение, наименее часто встречающееся в значениях всех ячеек в растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINORITY_COUNT—Вычисляется частота всех ячеек, содержащих значение меньшинства в растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINORITY_PERCENT—Вычисляется процент ячеек, содержащих значение меньшинства в растре значений, принадлежащих той же зоне, что и выходная ячейка.
  • PERCENTILE—Будет рассчитано значение процентиля для всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка. Девяностый процентиль вычисляется по умолчанию. Вы можете задать другие значения (от 1 до 100) с помощью параметра percentile_values.
  • RANGE—Вычисляется разница между наименьшим и наибольшим значениями всех ячеек растра, которые принадлежат той же зоне, что и выходная ячейка.
  • STD—Вычисляется Среднеквадратическое отклонение всех ячеек растра значений, которые принадлежат той же зоне, что выходная ячейка.
  • SUM—Вычисляется общее значение всех ячеек растра значений, которые принадлежат той же зоне, что выходная ячейка.
  • VARIETY—Вычисляется количество уникальных значений для всех ячеек во входном растре значений, которые принадлежат к той же зоне, что и выходная ячейка.
  • MIN_MAX—Вычисляется статистика Минимум и Максимум.
  • MEAN_STD—Вычисляется статистика Среднее и Среднеквадратическое отклонение.
  • MIN_MAX_MEAN—Вычисляется статистика Минимум, Максимум и Среднее.
  • MAJORITY_VALUE_COUNT_PERCENT—Вычисляется статистика Значение меньшинства, Количество и Процент.
  • MINORITY_VALUE_COUNT_PERCENT—Вычисляется статистика Значение меньшинства, Количество и Процент.
String
process_as_multidimensional
(Дополнительный)

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

  • CURRENT_SLICE—Статистика будет вычисляться на основе текущего фрагмента входного многомерного набора данных. Используется по умолчанию.
  • ALL_SLICES—Статистика будет вычисляться для всех измерений входного многомерного набора данных.
Boolean
percentile_values
[percentile_values,...]
(Дополнительный)

Процентиль, который будет вычислен. Значение по умолчанию – 90, определяющее 90-й процентиль.

Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен минимуму в статистике, а 100-й - максимуму. Значение 50 даст, по существу, тот же результат, что и медиана в статистике.

Этот параметр поддерживается только в том случае, если для параметра statistics_type задано PERCENTILE или ALL.

Double
percentile_interpolation_type
(Дополнительный)

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

  • AUTO_DETECT—Если тип пикселов входного растра - целое число, используется метод NEAREST. Если тип пикселов входного растра - значение с плавающей точкой, используется метод LINEAR. Используется по умолчанию.
  • NEAREST—Будет использоваться ближайшее доступное значение к заданному процентилю.
  • LINEAR—Будет использоваться взвешенное среднее от двух соседних значений от заданного процентиля.
String
circular_calculation
(Дополнительный)

Задает, как входной растр будет обрабатываться для круговых данных.

  • ARITHMETIC—Вычисляется обычная линейная статистика. Используется по умолчанию.
  • CIRCULAR—Вычисляется статистика для углов или других циклических величин, таких как направление по компасу в градусах, время дня или дробная часть действительного числа.
Boolean
circular_wrap_value
(Дополнительный)

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

Этот параметр поддерживается только в том случае, если для параметра circular_calculation задано CIRCULAR.

Double
out_join_layer
(Дополнительный)

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

Raster Layer; Feature Layer

Пример кода

ZonalStatisticsAsTable, пример 1 (окно Python)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZSaT = ZonalStatisticsAsTable("zones.shp", "Classes", "valueforzone",
                                  "zonalstattblout", "NODATA", "SUM")
ZonalStatisticsAsTable, пример 2 (автономный скрипт)

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

# Name: ZonalStatisticsAsTable_Ex_standalone.py
# Description: Summarizes values of a multidimensional raster within the zones 
#              of another dataset and reports the results to a table.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set the analysis environments
arcpy.env.workspace = "C:/sapyexamples/data"

# Set the local variables
inZoneData = "zones.shp"
zoneField = "sampleID"
inValueRaster = "multidimensional_valueraster.crf"
outTable = "zonalstattblout02.dbf"

# Execute ZonalStatisticsAsTable
outZSaT = ZonalStatisticsAsTable(inZoneData, zoneField, inValueRaster, 
                                 outTable, "NODATA", "MAXIMUM", "ALL_SLICES")

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

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

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