Зональная статистика в таблицу (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 для циклической медианы.

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

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

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

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

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

Параметры

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

Набор данных, определяющий зоны.

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

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

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

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

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

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

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

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

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

Table
Игнорировать значение 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.
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

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