Доступно с лицензией Spatial Analyst.
Сводка
Суммирует значения растра в пределах зон, определяемых другим набором данных, и записывает результаты в таблицу.
Более подробно о том, как работает инструмент Зональная статистика
Иллюстрация
Использование
Зона определяется как все области входных данных, имеющие одно значение. Области не обязательно должны быть непрерывными. И растры, и векторные объекты могут использоваться для входных данных зон.
Если Размер ячейки во Входных растровых или векторных данных зон (in_zone_data в Python) и во Входного растра значений (in_value_raster в Python) различается, то размер выходной ячейки будет Максимальный из входных, а Входной растр значений будет использоваться как Растр замыкания для внутренних целей. Если размер ячейки совпадает, но ячейки не выровнены, то Входной растр значений будет использоваться как растр замыкания для внутренних целей. В любом из этих случаев перед выполнением зональной операции будет инициирован внутренний пересчет.
Если входные данные зон и значений являются растрами одинакового размера и ячейки выровнены, они будут использоваться непосредственно в инструменте и не будут пересчитаны во время выполнения инструмента.
Если Входные растровые или векторные данные зон (in_zone_data в 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) может быть либо целочисленным, либо может быть представлен значениями с плавающей точкой. Но если тип данных – числа с плавающей точкой, опции для вычисления большинства, медианы, меньшинства и разнообразия будут не доступны.
Для вычислений большинства и меньшинства, если есть привязка, выходные данные для зоны основаны на наименьшем из значений привязки. Дополнительную информацию см. в разделе Как работает инструмент Зональная статистика.
В выходной таблице будет создано поле или ряд полей в зависимости от параметра Тип статистики. Если входное Значение – целое число, для вычисления доступны все типы статистики (Минимум, Максимум, Диапазон, Среднее, Среднеквадратическое отклонение, Сумма, Разнообразие, Большинство, Меньшинство и Медиана). Если входное Значение – с плавающей точкой, типы статистики Большинство, Меньшинство, Медиана и Разнообразие не будут вычисляться.
Тип данных для каждого значения в полях выходной таблицы зависит от выполняемых зональных вычислений. Обратитесь к статье Как работает инструмент Зональная статистика за информацией по конкретным характеристикам статистических показателей.
Число строк в выходной таблице равно числу зон.
По умолчанию этот инструмент использует преимущества многоядерных процессоров. Максимальное число ядер, которое может быть использовано,– четыре.
Если вы хотите, чтобы инструмент использовал меньшее число ядер, измените параметр среды parallelProcessingFactor.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
ZonalStatisticsAsTable(in_zone_data, zone_field, in_value_raster, out_table, {ignore_nodata}, {statistics_type})
Параметр | Объяснение | Тип данных |
in_zone_data | Набор данных, который определяет зоны. Зоны могут быть определены слоем целочисленного растра или векторным слоем. | Raster Layer; Feature Layer |
zone_field | Поле, в котором содержатся значения, определяющие каждую зону. Это может быть целочисленное или строковое поле набора данных зоны. | Field |
in_value_raster | Растр, содержащий значения, на основании которых будет вычислена статистика. | Raster Layer |
out_table | Выходная таблица, которая содержит итоговую информацию по значениям в каждой зоне. Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных. Если путь указывает не на базу геоданных, формат будет определяется расширением. Если выбрано расширение .dbf, данные будут в формате dBASE. Если расширение не указано, это будет таблица INFO. | Table |
ignore_nodata (Дополнительный) | Показывает, будут ли значения NoData в входных данных Значение влиять на результаты зоны, в которую они попадают.
| Boolean |
statistics_type (Дополнительный) | Вычисляемый тип статистики.
| 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 (автономный скрипт)
В этом примере суммируются значения растра в зонах, определенных шейп-файлом полигона, и результаты записываются в файл .dbf.
# Name: ZonalStatisticsAsTable_Ex_02.py
# Description: Summarizes values of a 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 import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inZoneData = "zones.shp"
zoneField = "Classes"
inValueRaster = "valueforzone"
outTable = "zonalstattblout02.dbf"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalStatisticsAsTable
outZSaT = ZonalStatisticsAsTable(inZoneData, zoneField, inValueRaster,
outTable, "NODATA", "MEAN")
Параметры среды
- Автоматическое подтверждение
- Размер ячейки
- Метод проецирования размера ячейки
- Сжатие
- Текущая рабочая область
- Экстент
- Географические преобразования
- Маска
- Выходное ключевое слово CONFIG
- Выходная система координат
- Коэффициент параллельной обработки
- Полноценные имена полей
- Временная рабочая область
- Растр привязки
- Размер листа
- Передать описания доменов полей
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst