Зональная статистика (Image Analyst)

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

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

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

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

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

Иллюстрация

Иллюстрация Зональная статистика
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "MINIMUM", "DATA", "CURRENT_SLICE")

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

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

  • Если Входные растровые или векторные данные зоны (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.

  • Тип выходных данных (integer или float) зависит от выполняемого зонального вычисления и типа данных входного растра значений.

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

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

Параметры

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

Набор данных, который определяет зоны.

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

Raster Layer; Feature Layer
Поле зоны

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

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

Field
Входной растр значений

Растр, содержащий значения, на основании которых будет вычислена статистика.

Raster Layer
Тип статистики
(Дополнительный)

Указывает тип вычисляемой статистики.

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

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

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

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

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

Вычисляемый процентиль. Значение по умолчанию – 90, определяющее 90-й процентиль.

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

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

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

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

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

Возвращаемое значение

ПодписьОписаниеТип данных
Выходной растр

Выходной растр зональной статистики.

Raster

ZonalStatistics(in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata}, {process_as_multidimensional}, {percentile_value}, {percentile_interpolation_type})
ИмяОписаниеТип данных
in_zone_data

Набор данных, который определяет зоны.

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

Raster Layer; Feature Layer
zone_field

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

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

Field
in_value_raster

Растр, содержащий значения, на основании которых будет вычислена статистика.

Raster Layer
statistics_type
(Дополнительный)

Указывает тип вычисляемой статистики.

  • MEANБудет рассчитано среднее из значений всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MAJORITYБудет рассчитано значение, наиболее часто встречающееся в значениях всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MAXIMUMБудет рассчитано наибольшее значение всех ячеек растра значений, которые принадлежат той же зоне, что выходная ячейка.
  • MEDIANБудет вычислено медианное значение всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINIMUMБудет рассчитано наименьшее значение всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • MINORITYБудет рассчитано значение, наименее часто встречающееся в значениях всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • PERCENTILEБудет рассчитано значение процентиля для всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка. Девяностый процентиль вычисляется по умолчанию. Вы можете указать другие значения (от 0 до 100), используя параметр Значение процентиля.
  • RANGEБудет рассчитана разница между наименьшим и наибольшим значениями всех ячеек растра, которые принадлежат той же зоне, что и выходная ячейка.
  • STDБудет рассчитано Среднеквадратическое отклонение всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • SUMБудет рассчитано общее значение всех ячеек на растре значений, которые принадлежат той же зоне, что и выходная ячейка.
  • VARIETYБудет рассчитано количество уникальных значений для всех ячеек во входном растре значений, которые принадлежат к той же зоне, что и выходная ячейка.
String
ignore_nodata
(Дополнительный)

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

  • DATAВ любой зоне только ячейки, содержащие значение во входном растре значений, используются при определении выходного значения для этой зоны. Ячейки NoData в растре значений будут игнорироваться в вычислении статистики. Используется по умолчанию.
  • NODATAВ любой конкретной зоне, если ячейки NoData существуют в растре значений, они не будут игнорироваться, и их наличие указывает на то, что информации недостаточно для выполнения статистических вычислений для всех ячеек в этой зоне. Следовательно, вся зона получит значение NoData на выходном растре.
Boolean
process_as_multidimensional
(Дополнительный)

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

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

Вычисляемый процентиль. Значение по умолчанию – 90, определяющее 90-й процентиль.

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

Эта опция поддерживается, только если параметр statistics_type задан как PERCENTILE.

Double
percentile_interpolation_type
(Дополнительный)

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

  • AUTO_DETECTЕсли входной растр значений имеет целочисленный пикселный тип, используется метод NEAREST. Если тип пикселов входного растра - значение с плавающей точкой, используется метод LINEAR. Используется по умолчанию.
  • NEARESTИспользуется ближайшее доступное к желательному процентилю значение. В этом случае тип выходных пикселов будет таким же, как и во входном растре значений.
  • LINEARИспользуется взвешенное среднее из двух ближайших от желательного процентиля значений. В этом случае тип выходного пиксела - с плавающей точкой.
String

Возвращаемое значение

ИмяОписаниеТип данных
out_raster

Выходной растр зональной статистики.

Raster

Пример кода

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

В этом примере для каждой зоны определяется диапазон значений ячеек во входном растре значений.

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C://data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
                                "NODATA")
outZonalStats.save("C:/output/zonestatout")
ZonalStatistics, пример 2 (автономный скрипт)

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

# Name: ZonalStatistics_Ex_standalone.py
# Description: Summarizes values of a multidimensional raster within the zones 
#              of another dataset.
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Set the analysis environments
arcpy.env.workspace = "C:/sapyexamples/data"

# Set the local variables
inZoneData = "zones.shp"
zoneField = "sampleID"
inValueRaster = "multidimensional_valueraster.crf"

# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
                                     "MAXIMUM", "NODATA", "ALL_SLICES")

# Save the output 
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2.crf")

Информация о лицензиях

  • Basic: Обязательно Image Analyst or Spatial Analyst
  • Standard: Обязательно Image Analyst or Spatial Analyst
  • Advanced: Обязательно Image Analyst or Spatial Analyst

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