Зональная характеристика (Spatial Analyst)

Доступно с лицензией 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 для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

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

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

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

Raster Layer; Feature Layer
Входные растры значений

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

  • Растр — Входной растр значений.
  • Тип статистики — Статистика, которая будет вычисляться для растра.
  • Имя поля — Имя поля для растра в выходной таблице.

Будет вычислена статистика для всех ячеек в каждом входном растре значений, которые принадлежат той же зоне, что и выходная ячейка. Доступны следующие типы статистики:

  • Среднее – Среднее значение ячеек.
  • Большинство — Значение ячейки, которое встречается чаще всего.
  • Количество большинства — Частота всех ячеек, содержащих значение большинства.
  • Процент большинства — Процент ячеек, содержащих значение большинства.
  • Максимальное — Наибольшее значение ячейки.
  • Медиана — Медианное или среднее значение ячейки
  • Минимальное — Наименьшее значение ячейки.
  • Меньшинство — Значение ячейки, которое встречается реже всего.
  • Количество меньшинства — Частота всех ячеек, содержащих значение меньшинства.
  • Процент меньшинства — Процент ячеек, содержащих значение меньшинства.
  • Процентиль — Процентиль значений ячеек. Девяностый процентиль вычисляется по умолчанию. Вы можете указать другие значения (от 0 до 100), используя параметр Значения процентиля.
  • Диапазон — Разница между наименьшим и наибольшим значениями ячеек.
  • Средне-квадратическое отклонение—Среднеквадратическое отклонение значений ячеек.
  • Сумма—Общее значение ячеек.
  • Разнообразие — Количество уникальных значений ячеек.

Имена полей в выходной таблице статистики по умолчанию будут производными от имени растра значений и типа статистики.

Value Table
Выходная таблица статистики

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

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

Table
Выходной класс объектов статистики
(Дополнительный)

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

Feature Class
Поле зоны
(Дополнительный)

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

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

Field
Игнорировать значение NoData при вычислениях
(Дополнительный)

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

  • Отмечено – в любой зоне только ячейки, имеющие значение во входном растре значений, будут использованы при определении выходного значения для этой зоны. При определении статистики будут использованы только ячейки из окрестности обрабатываемой ячейки, имеющие значения. Это значение по умолчанию
  • Не отмечено - если в пределах конкретной зоны в растре значений присутствуют ячейки NoData, ячейка не игнорируется и наличие такой ячейки указывает на отсутствие необходимой информации для вычисления статистики для всех ячеек этой зоны. Соответственно, все ячейки зоны получат значения NoData в выходном растра.
Boolean
Значения процентиля
(Дополнительный)

Процентиль, который будет вычислен. Значение по умолчанию – 90, для 90-го процентиля.

Значения могут варьироваться от 0 до 100. 0-й процентиль по существу эквивалентен Минимума в статистике, а 100-й процентиль эквивалентен Максимуму. Значение 50 даст по существу тот же результат, что и Медиана в статистике.

Этот параметр доступен, только если для параметра Тип статистики задано значение Процентиль или Все.

Double
Тип интерполяции Процентиль
(Дополнительный)

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

  • АвтоопределениеЕсли входной растр значений содержит целочисленные пикселы, бут использоваться метод Ближайший. Если входной растр значений содержит пикселы с плавающей точкой, будет использоваться метод Линейная. Это значение по умолчанию
  • БлижайшийБудет использоваться ближайшее доступное значение к заданному процентилю.
  • ЛинейныйБудет использоваться взвешенное среднее от двух соседних значений от заданного процентиля.
String
Вычислить круговую статистику
(Дополнительный)

Задает способ обработки круговых данных входного растра.

  • Не отмечено — Будет вычислена ординарная линейная статистика. Это значение по умолчанию
  • Отмечено — будет вычислена статистика для углов или других циклических величин, таких как компасное направление в градусах, время дня и дробная часть вещественного числа.
Boolean
Значение охвата окружности
(Дополнительный)

Значение, которое будет использоваться для округления линейного значения до диапазона заданной круговой статистики. Это значение должно быть положительное целочисленное значение или значение с плавающей запятой. Значением по умолчанию является 360 градусов.

Этот параметр поддерживается только в том случае, если отмечен параметр Вычислить круговую статистику.

Double
Обработать как многомерный
(Дополнительный)

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

  • Не отмечено – статистика будет вычисляться из текущего среза входного многомерного набора данных. Это значение по умолчанию
  • Отмечено – статистика будет вычисляться для всех измерений (таких как время или глубина) многомерного набора данных.
Boolean
Присоединить Атрибуты зон к выходным объектам
(Дополнительный)

Указывает, будут ли какие-либо дополнительные атрибуты зон из входных зон добавлены к выходному классу объектов.

  • Не отмечено — К выходному классу объектов будет добавлено только поле ID зоны из входных зон. Это значение по умолчанию
  • Отмечено - Дополнительные атрибуты зон из входных зон будут добавлены к выходному классу объектов.
Boolean

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,...]

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

  • Растр — Входной растр значения.
  • Тип статистики — Статистика, которая будет вычисляться для растра.
  • Имя поля — Имя поля для растра в выходной таблице.

Будет вычислена статистика для всех ячеек в каждом входном растре значений, которые принадлежат той же зоне, что и выходная ячейка. Доступны следующие типы статистики:

  • MEAN – Среднее значение ячеек.
  • MAJORITY — Значение ячейки, которое встречается чаще всего.
  • MAJORITY_COUNT — Частота всех ячеек, содержащих значение большинства.
  • MAJORITY_PERCENT — Процент ячеек, содержащих значение большинства.
  • MAXIMUM — Наибольшее значение ячейки.
  • MEDIAN— Медианное или среднее значение ячейки
  • MINIMUM — Наименьшее значение ячейки.
  • MINORITY — Значение ячейки, которое встречается реже всего.
  • MINORITY_COUNT — Частота всех ячеек, содержащих значение меньшинства.
  • MINORITY_PERCENT — Процент ячеек, содержащих значение меньшинства.
  • PERCENTILE — Процентиль значений ячеек. Девяностый процентиль вычисляется по умолчанию. Вы можете задать другие значения (от 1 до 100) с помощью параметра percentile_values.
  • RANGE — Разница между наименьшим и наибольшим значениями ячеек.
  • STD—Среднеквадратическое отклонение значений ячеек.
  • SUM—Общее значение ячеек.
  • VARIETY — Количество уникальных значений ячеек.

Имена полей в выходной таблице статистики по умолчанию будут производными от имени растра значений и типа статистики.

Value Table
out_statistics_table

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

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

Table
out_statistics_features
(Дополнительный)

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

Feature Class
zone_field
(Дополнительный)

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

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

Field
ignore_nodata
(Дополнительный)

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

  • DATAВ любой зоне только ячейки, содержащие значение во входном растре значений, используются при определении выходного значения для этой зоны. При определении статистики будут использованы только ячейки из окрестности обрабатываемой ячейки, имеющие значения. Это значение по умолчанию
  • NODATAЕсли в пределах конкретной зоны в растре значений присутствуют ячейки NoData, ячейка не игнорируется и наличие такой ячейки указывает на отсутствие необходимой информации для вычисления статистики для всех ячеек этой зоны. Соответственно, все ячейки зоны получат значения NoData в выходном растра.
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
process_as_multidimensional
(Дополнительный)

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

  • CURRENT_SLICEСтатистика будет вычисляться из текущего среза входного многомерного набора данных. Это значение по умолчанию
  • ALL_SLICESСтатистика будет вычисляться для всех измерений (таких как время или глубина) многомерного набора данных.
Boolean
add_zone_attributes
(Дополнительный)

Указывает, будут ли какие-либо дополнительные атрибуты зон из входных зон добавлены к выходному классу объектов.

  • ZONE_FIELD_ONLYК выходному классу объектов будет добавлено только поле ID зоны из входных зон. Это значение по умолчанию
  • ALLДополнительные атрибуты зон из входных зон будут добавлены к выходному классу объектов.
Boolean

Пример кода

ZonalCharacterization, пример 1 (окно Python)

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

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")
ZonalCharacterization, пример 2 (автономный скрипт)

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

# 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

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