Подпись | Описание | Тип данных |
Входные растровые или векторные данные зон | Набор данных, который определяет зоны. Зоны могут быть определены слоем целочисленного растра или векторным слоем. | Raster Layer; Feature Layer |
Поле зоны | Поле, которое содержит значения, определяющие каждую зону. Это может быть целочисленное или строковое поле набора данных зоны. | Field |
Входной растр значений | Растр, содержащий значения, на основании которых будет вычислена статистика. | Raster Layer |
Выходная таблица | Выходная таблица, которая содержит итоговую информацию по значениям в каждой зоне. Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию на выходе будет таблица базы геоданных, если она находится в рабочей области базы геоданных, и таблица dBASE, если она находится в файловой рабочей области. | Table |
Игнорировать значение NoData при вычислениях (Дополнительный) | Определяет, будут ли значения NoData во входном значении игнорироваться в результатах для зоны, в которую они попадают.
| Boolean |
Тип статистики (Дополнительный) | Указывает тип вычисляемой статистики.
| String |
Обработать как многомерный (Дополнительный) | Определяет, как будут обрабатываться входные растры, если они являются многомерными.
| Boolean |
Значения процентиля (Дополнительный) | Вычисляемый процентиль. Значение по умолчанию – 90, определяющее 90-й процентиль. Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен минимуму в статистике, а 100-й - максимуму. Значение 50 даст, по существу, тот же результат, что и медиана в статистике. Эта опция доступна, только если параметр Тип статистики задан как Процентиль или Все. | Double |
Тип интерполяции процентиля (Дополнительный) | Определяет метод интерполяции, который будет использоваться, когда значение процентиля находится между двумя значениями ячеек из растра входных значений.
| String |
Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Краткая информация
Суммирует значения растра в пределах зон другого набора данных и записывает результаты в таблицу.
Иллюстрация
Использование
Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. Наборы растровых данных и наборы классов объектов могут использоваться для входных данных зоны.
Если Входные растровые или векторные данные зоны (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 для получения дополнительной информации о среде геообработки данного инструмента.
Параметры
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 во входном значении игнорироваться в результатах для зоны, в которую они попадают.
| Boolean |
statistics_type (Дополнительный) | Указывает тип вычисляемой статистики.
| String |
process_as_multidimensional (Дополнительный) | Определяет, как будут обрабатываться входные растры, если они являются многомерными.
| Boolean |
percentile_values [percentile_values,...] (Дополнительный) | Вычисляемый процентиль. Значение по умолчанию – 90, определяющее 90-й процентиль. Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен минимуму в статистике, а 100-й - максимуму. Значение 50 даст, по существу, тот же результат, что и медиана в статистике. Эта опция поддерживается, только если параметр statistics_type задан как PERCENTILE или ALL. | Double |
percentile_interpolation_type (Дополнительный) | Определяет метод интерполяции, который будет использоваться, когда значение процентиля находится между двумя значениями ячеек из растра входных значений.
| String |
Пример кода
В этом примере суммируются значения растра в зонах, определенных шейп-файлом полигона, и результаты записываются в таблицу.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZSaT = ZonalStatisticsAsTable("zones.shp", "Classes", "valueforzone",
"zonalstattblout", "NODATA", "SUM")
В этом примере суммируются значения растра в зонах, определенных шейп-файлом полигона, и результаты записываются в таблицу.
# 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