Подпись | Описание | Тип данных |
Входные растровые или векторные зоны | Набор данных, определяющий зоны. Зоны могут быть определены слоем целочисленного растра или векторным слоем. | Raster Layer; Feature Layer |
Входные растры значений | Коллекция растров, значения каждого из которых будут суммированы с помощью статистики. Этот параметр обладает следующими свойствами.
Будет вычислена статистика для всех ячеек в каждом входном растре значений, которые принадлежат той же зоне, что и выходная ячейка. Доступны следующие типы статистики:
Имена полей в выходной таблице статистики по умолчанию будут производными от имени растра значений и типа статистики. | Value Table |
Выходная таблица статистики | Выходная таблица, которая содержит итоговую информацию значений в каждой зоне для всех растров значений. Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных в рабочей области базы геоданных, и таблица dBASE, если рабочая область представляет собой папку с файлами. | Table |
Выходной класс объектов статистики (Дополнительный) | Выходной класс объектов, который будет создан путем объединения выходной таблицы с данными входной зоны. | Feature Class |
Поле зоны (Дополнительный) | Поле, которое содержит значения, определяющие каждую зону. Это может быть целочисленное или строковое поле набора данных зоны. | Field |
Игнорировать значение NoData при вычислениях (Дополнительный) | Определяет, будут ли значения NoData входного набора данных значений влиять на результаты зоны, в которую они попадают.
| Boolean |
Значения процентиля (Дополнительный) | Процентиль, который будет вычислен. Значение по умолчанию – 90, для 90-го процентиля. Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен Минимума в статистике, а 100-й процентиль эквивалентен Максимуму. Значение 50 даст по существу тот же результат, что и Медиана в статистике. Этот параметр доступен, только если для параметра Тип статистики задано значение Процентиль или Все. | Double |
Тип интерполяции Процентиль (Дополнительный) | Определяет метод интерполяции, который будет использоваться, когда значение процентиля находится между двумя значениями ячеек из растра входных значений.
| String |
Вычислить круговую статистику (Дополнительный) | Задает способ обработки круговых данных входного растра.
| Boolean |
Значение охвата окружности (Дополнительный) | Значение, которое будет использоваться для округления линейного значения до диапазона заданной круговой статистики. Это значение должно быть положительное целочисленное значение или значение с плавающей запятой. Значением по умолчанию является 360 градусов. Этот параметр поддерживается только в том случае, если отмечен параметр Вычислить круговую статистику. | Double |
Обработать как многомерный (Дополнительный) | Определяет, как будут вычисляться входные растры, если они являются многомерными.
| Boolean |
Присоединить Атрибуты зон к выходным объектам (Дополнительный) | Указывает, будут ли какие-либо дополнительные атрибуты зон из входных зон добавлены к выходному классу объектов.
| Boolean |
Доступно с лицензией Spatial Analyst.
Краткая информация
Суммирует значения нескольких растров в пределах зон другого набора данных и записывает результаты в таблицу.
Использование
Ниже примеры использования инструмента:
- Рассчитайте среднее количество осадков, максимальную температуру и общую численность населения в различных зонах экосистемы, чтобы оценить устойчивые методы ведения сельского хозяйства.
- Оцените среднюю высоту, средний уклон и сумму значений NDVI для каждого участка, чтобы определить участки, подходящие для посадки тенистых деревьев.
Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. И растры, и векторные объекты могут использоваться для входных данных зон.
Если значение параметра Входные растровые или векторные зоны (in_zone_raster_or_features в Python) является растром, это должен быть целочисленный растр.
Если значение параметра Входные растровые или векторные зоны является объектом, он будет конвертирован в растр с использованием размера ячейки, выравнивания ячейки и пространственной привязки из значения параметра Входные растры значений (in_value_rasters_statistics в Python) с наименьшим размером ячейки, если в среде анализа не указано иное. Это запускает внутреннюю операцию пересчета, перед выполнением зональных операций.
Если значение параметра Входные растровые или векторные зоны являются объектом, то для любых зональных объектов, которые не пересекаются с любыми центрами ячеек растра значений, эти зоны не будут конвертироваться во внутренний растр зон. В результате, эти зоны не будут представлены в выходных данных. Вы можете управлять этим поведением, задав соответствующее значение для параметра среды Размер ячеек, что позволит сохранить желательный уровень детализации объектов зон, и задать его в параметрах среды анализа.
Если значение Входные растровые или векторные зоны является точечным объектом, возможно, что в каждую конкретную ячейку входного растра значений попадет больше одной точки. Для таких ячеек значение зоны определяется точкой с наименьшим значением поля ObjectID (например, OID или FID).
Если значение Входные растровые или векторные зоны содержат перекрывающиеся объекты, зональный анализ будет выполняться для каждого отдельного объекта.
Если размер ячейки Входные растровые или векторные зоны и значения параметра Входные растры значений отличаются, будут использоваться размер ячейки, выравнивание ячейки и пространственная привязка из значения параметра Входные растры значений с наименьшим размером ячейки, если в среде анализа не указано иное. Это запускает внутреннюю операцию пересчета, перед выполнением зональных операций.
Если входные данные зон и значений являются растрами с одинаковым размером ячеек, и с корректным выравниванием, они будут использоваться непосредственно в инструменте и не будут пересчитаны во время обработки инструментом.
При указании значения Входные растровые или векторные зоны значением параметра Поле зоны (zone_field в Python)по умолчанию будет первое доступное целочисленное поле (например, OID или FID) для объектов и поле VALUE для растра. Поле зоны может быть целочисленным или строковым типом поля.
Поддерживаемый тип статистики зависит от типа данных значения параметра Входные растры значений и типа вычисления статистики, заданного значением параметра Вычислить круговую статистику.
Если тип данных - целое число, вычисление арифметической статистики поддерживает следующие опции: Среднее, Большинство, Подсчет большинства, Процент большинства, Максимум, Медиана, Минимум, Меньшинство, Подсчет меньшинства, Процент меньшинства, Процентиль, Диапазон, Среднеквадратическое отклонение, Сумма и Разнообразие. Вычисление круговой статистики поддерживает опции Среднее, Большинство, Меньшинство, Среднеквадратическое отклонение и Разнообразие.
Если данные с плавающей точкой, вычисление арифметической статистики поддерживает следующие опции: Среднее, Максимум, Медиана, Минимум, Процентиль, Диапазон, Среднеквадратическое отклонение и Сумма. Вычисление круговой статистики поддерживает опции Среднее и Среднеквадратическое отклонение.
Для вычислений Большинства и Меньшинства, если есть привязка, выходные данные определяются наименьшем из значений привязки.
Чтобы рассчитать более одного типа статистики для каждого растра значений, один и тот же растр значений необходимо указать несколько раз. Если одно и то же значение растра и комбинация типов статистики будут дублированы, инструмент выдаст ошибку.
Чтобы вычислить круговую статистику, отметьте параметр Вычислить круговую статистику (circular_calculation = "CIRCULAR" в Python) и укажите значение для параметра Значение обхвата окружности (circular_wrap_value в Python).
Если отмечен параметр Вычислить круговую статистику, то круговая статистика будет вычисляться для всех растров значений с примененным заданным значением обхвата окружности.
Поддерживаемые типы наборов данных многомерных растров включают многомерный растровый слой, мозаику, сервисы изображений и Esri CRF.
Значение параметра Выходная таблица статистики (out_statistics_table в Python) будет иметь следующие характеристики:
- Количество строк в выходной таблице - это количество зон в пределах экстента анализа.
- В выходной таблице будет создан ряд полей для представления зон, со значениями количества и статистики для каждого значения Входные растры значений.
- Имена полей по умолчанию будут производными от имени растра значений и типа статистики, если иное не указано в параметре Имя поля. Для круговой статистики имя поля будет включать C_ перед указанной статистикой. Например, имя поля будет ValueRasterName_MEAN для арифметической средней статистики и ValueRasterName_C_MEAN для круговой средней статистики.
- Максимальная длина имен полей в выходной таблице будет зависеть от рабочей области.
- Тип данных для каждого значения элементов в выходной таблице будет зависеть от выполняемых зональных вычислений. См. раздел Как работает инструмент Зональная статистика для информации о конкретном поведении статистики.
Для значения параметра Выходной класс объектов статистики (out_statistics_features в Python), если входными данными зоны является растр, выходной класс пространственных объектов будет преобразован в объекты без генерализации и с учетом среды анализа.
Этот инструмент будет использовать следующие параметры среды:
- Растр значений с наименьшим размером ячейки будет использоваться в качестве размера ячейки анализа, выходной системы координат и растра привязки по умолчанию.
- Экстентом по умолчанию будет являться пересечение зоны с объединением всех растров значений.
По умолчанию этот инструмент будет использовать многоядерные процессоры, если они доступны. Максимальное число ядер, которое может быть использовано,– четыре.
Чтобы инструмент использовал меньшее число ядер, измените параметр среды Коэффициент параллельной обработки.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Параметры
ZonalCharacterization(in_zone_raster_or_features, in_value_rasters_statistics, out_statistics_table, {out_statistics_features}, {zone_field}, {ignore_nodata}, {percentile_values}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value}, {process_as_multidimensional}, {add_zone_attributes})
Имя | Описание | Тип данных |
in_zone_raster_or_features | Набор данных, определяющий зоны. Зоны могут быть определены слоем целочисленного растра или векторным слоем. | Raster Layer; Feature Layer |
in_value_rasters_statistics [in_value_rasters_statistics,...] | Коллекция растров, значения каждого из которых будут суммированы с помощью статистики. Этот параметр обладает следующими свойствами.
Будет вычислена статистика для всех ячеек в каждом входном растре значений, которые принадлежат той же зоне, что и выходная ячейка. Доступны следующие типы статистики:
Имена полей в выходной таблице статистики по умолчанию будут производными от имени растра значений и типа статистики. | Value Table |
out_statistics_table | Выходная таблица, которая содержит итоговую информацию значений в каждой зоне для всех растров значений. Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных в рабочей области базы геоданных, и таблица dBASE, если рабочая область представляет собой папку с файлами. | Table |
out_statistics_features (Дополнительный) | Выходной класс объектов, который будет создан путем объединения выходной таблицы с данными входной зоны. | Feature Class |
zone_field (Дополнительный) | Поле, которое содержит значения, определяющие каждую зону. Это может быть целочисленное или строковое поле набора данных зоны. | Field |
ignore_nodata (Дополнительный) | Определяет, будут ли значения NoData входного набора данных значений влиять на результаты зоны, в которую они попадают.
| Boolean |
percentile_values [percentile_values,...] (Дополнительный) | Процентиль, который будет вычислен. Значение по умолчанию – 90, для 90-го процентиля. Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен Минимума в статистике, а 100-й процентиль эквивалентен Максимуму. Значение 50 даст по существу тот же результат, что и Медиана в статистике. Этот параметр поддерживается, если параметр statistics_type задан как PERCENTILE или ALL. | Double |
percentile_interpolation_type (Дополнительный) | Определяет метод интерполяции, который будет использоваться, когда значение процентиля находится между двумя значениями ячеек из растра входных значений.
| String |
circular_calculation (Дополнительный) | Задает способ обработки круговых данных входного растра.
| Boolean |
circular_wrap_value (Дополнительный) | Значение, которое будет использоваться для округления линейного значения до диапазона заданной круговой статистики. Это значение должно быть положительное целочисленное значение или значение с плавающей запятой. Значением по умолчанию является 360 градусов. Этот параметр поддерживается, если параметр circular_calculation задан как CIRCULAR. | Double |
process_as_multidimensional (Дополнительный) | Определяет, как будут вычисляться входные растры, если они являются многомерными.
| Boolean |
add_zone_attributes (Дополнительный) | Указывает, будут ли какие-либо дополнительные атрибуты зон из входных зон добавлены к выходному классу объектов.
| Boolean |
Пример кода
В этом примере суммируются значения нескольких растров в зонах, определенных шейп-файлом полигона, и результаты записываются в таблицу и в класс объектов.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outTable = ZonalCharacterization("zones.shp",
"ValueRas1.tif MEAN ValueRas1_MEAN;ValueRas2.tif MAXIMUM ValueRas2_MAX;ValueRas3.tif STD ValueRas3_STD",
"zonalcharacterout.dbf","featurestatout.shp","Id","DATA","",
"AUTO_DETECT","ARITHMETIC","","CURRENT_SLICE","ZONE_FIELD_ONLY")
В этом примере суммируются значения нескольких растров в зонах, определенных растром зон, и результаты записываются в таблицу и в класс объектов.
# Name: ZonalCharacterization_Ex_standalone.py
# Description: Summarizes the values of multiple rasters within the zones
# of another dataset and reports the results as 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.tif"
zoneField = "Value"
inValueRas1 = "ValueRas1.tif"
inValueRas2 = "ValueRas2.tif"
inValueRas3 = "ValueRas3.tif"
outTable = "zonalcharactereizationout.dbf"
outFeatureClass = "featurestatout.shp"
# Execute ZonalCharacterization
outzonalchar = ZonalCharacterization(inZoneData, [[inValueRas1, "MEAN",
"ValueRas1_MEAN"], [inValueRas2, "STD", "ValueRas2_STD"],
[inValueRas3, "SUM", "ValueRas3_SUM"]], outTable, outFeatureClass,
zoneField, "NODATA", "", "", "ARITHMETIC", "", "CURRENT_SLICE", "ALL")
Параметры среды
Информация о лицензиях
- Basic: Обязательно Spatial Analyst
- Standard: Обязательно Spatial Analyst
- Advanced: Обязательно Spatial Analyst