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

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

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

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

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

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

Иллюстрация

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

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

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

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

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

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

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

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

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

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

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

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

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

  • В выходной таблице будет создано поле или ряд полей в зависимости от установки в параметре Тип статистики. Если входное значение – целое число, для вычисления доступны все типы статистики (Минимум, Максимум, Диапазон, Среднее, Среднеквадратическое отклонение, Сумма, Разнообразие, Большинство, Меньшинство и Медиана). Если входное значение представлено с плавающей запятой, варианты статистики Большинство, Меньшинство и Многообразие недоступны для вычисления.

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

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

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

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

    Чтобы инструмент использовал меньшее число ядер, измените параметр среды parallelProcessingFactor.

  • См. раздел Среда анализа и 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

ZonalStatisticsAsTable(in_zone_data, zone_field, in_value_raster, out_table, {ignore_nodata}, {statistics_type}, {process_as_multidimensional}, {percentile_values}, {percentile_interpolation_type})
ИмяОписаниеТип данных
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Будет рассчитано значение, наиболее часто встречающееся в значениях всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MAXIMUMБудет рассчитано наибольшее значение всех ячеек растра значений, которые принадлежат той же зоне, что выходная ячейка.
  • MEDIANБудет вычислено медианное значение всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINIMUMБудет рассчитано наименьшее значение всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINORITYБудет рассчитано значение, наименее часто встречающееся в значениях всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • PERCENTILEБудет рассчитано значение процентиля для всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка. Девяностый процентиль вычисляется по умолчанию. Вы можете указать другие значения (от 0 до 100), используя параметр Значение процентиля.
  • RANGEБудет рассчитана разница между наименьшим и наибольшим значениями всех ячеек растра, которые принадлежат той же зоне, что и выходная ячейка.
  • STDБудет рассчитано Среднеквадратическое отклонение всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • SUMБудет рассчитано общее значение всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • VARIETYБудет рассчитано количество уникальных значений для всех ячеек во входном растре значений, которые принадлежат к той же зоне, что и выходная ячейка.
  • MIN_MAXБудет вычисляться статистика Минимум и Максимум.
  • MEAN_STDБудет вычисляться статистика Среднее и Среднеквадратическое отклонение.
  • MIN_MAX_MEANБудет вычисляться статистика Минимум, Максимум и Среднее.
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

Пример кода

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

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