Статистика по ячейкам (Image Analyst)

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

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

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

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

Доступная статистика: Большинство, Максимум, Среднее, Медиана, Минимум, Меньшинство, Процентиль, Диапазон, Среднеквадратическое отклонение, Сумма и Разнообразие.

Более подробно о том, как работает инструмент Статистика по ячейкам

Иллюстрация

Пример входных и выходных значений инструмента Статистика по ячейкам
OutRas = CellStatistics([InRas1, InRas2, InRas3], "SUM", "NODATA", "SINGLE_BAND")

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

  • Для этого инструмента не имеет значения порядок входных растров.

  • Для типов статистики Максимум, Минимум, Среднее, Медиана, Большинство, Меньшинство, Процентиль и Сумма, если в качестве входных данных используется один растр, выходные значения ячеек будут такими же, как входные. Для Диапазона или Среднеквадратического отклонения все выходные значения будут равны 0. Для Разнообразия это будет 1.

  • Если не отмечен параметр Обработать как многоканальный (для process_as_multiband задано SINGLE_BAND в Python), каждый канал входного многоканального растра будет обрабатываться отдельно - как одноканальный растр, и выходными данными будет тоже растр с одним каналом.

    Одноканальный результат при обработке типа SINGLE_BAND
    Инструмент Статистика по ячейкам создает одноканальный выходной растр при обработке типа SINGLE_BAND.
  • Если отмечен параметр Обработать как многоканальный (для process_as_multiband задано MULTI_BAND в Python), каждый входной многоканальный растр будет обрабатываться как многоканальный и выходными данными будет тоже многоканальный растр. Выходной растр также будет многоканальным, если входные данные представляют собой комбинацию многоканального растра и констант. Количество каналов в каждом входном многоканальном растре должно быть одинаковым.

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

    Многоканальный результат при обработке типа MULTI_BAND.
    Инструмент Статистика по ячейкам создает многоканальный выходной растр при обработке типа MULTI_BAND.
  • Если все входные данные представляют собой многомерные растровые данные с одинаковым количеством переменных, инструмент выполнит операцию для всех срезов с одинаковым значением размера. Результатом будет многомерный растр в формате CRF. Переменные во входных данных должны иметь по крайней мере одну общую размерность и одно общее размерное значение для обработки этим инструментом, в противном случае произойдет ошибка.

    Если все входные данные имеют одну переменную, но разные имена, снимите отметку Сопоставить многомерную переменную для среды геообработки (установите arcpy.env.matchMultidimensionalVariable = False в Python) перед выполнением операции.

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

  • Для вычислений Большинства и Меньшинства, если есть привязка, выходные данные определяются наименьшем из значений привязки.

Параметры

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

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

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

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

Raster Layer; Constant
Статистика наложения
(Дополнительный)

Задает вычисляемый тип статистики.

Типом статистики по умолчанию является Среднее.

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

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

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

Задает способ обработки каналов входного многоканального растра.

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

Будет вычислено значение процентиля. Значение по умолчанию – 90, для 90-го процентиля.

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

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

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

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

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

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

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

Выходной растр.

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

Raster

CellStatistics(in_rasters_or_constants, {statistics_type}, {ignore_nodata}, {process_as_multiband}, {percentile_value}, {percentile_interpolation_type})
ИмяОписаниеТип данных
in_rasters_or_constants
[in_raster_or_constant,...]

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

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

Если параметр processing_as_multiband задан как MULTI_BAND, то все многоканальные входные данные должны иметь одинаковое число каналов.

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

Задает вычисляемый тип статистики.

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

Типом статистики по умолчанию является MEAN.

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

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

  • DATAПри обработке местоположений ячеек, если в любом из входных растров имеется NoData, это значение будет игнорироваться. Статистика будет вычислена только по ячейкам с валидными данными. Это значение по умолчанию
  • NODATAЕсли обрабатываемая ячейка любого из входных растров имеет значение NoData, этому местоположению в выходном растре также будет присвоено значение NoData.
Boolean
process_as_multiband
(Дополнительный)

Задает способ обработки каналов входного многоканального растра.

  • SINGLE_BANDКаждый канал многоканального растра обрабатывается отдельно, как одноканальный растр. Используется по умолчанию.
  • MULTI_BANDКаждый многоканальный растр обрабатывается как многоканальный. Операция будет выполняться для каждого канала одних входных данных, с использованием номера соответствующего канала других входных данных.
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

Пример кода

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

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

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outCellStats = CellStatistics(["degs", "negs", "cost"], "STD", "DATA")
outCellStats.save("C:/iapyexamples/output/outcellstats.img")
CellStatistics, пример 2 (автономный скрипт)

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

# Name: CellStatistics_Ex_standalone.py
# Description: Calculates a per-cell statistic from multiple multiband rasters
#               and process as multiband.
# 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
inRaster01 = "degs_MB"
inRaster02 = "negs_MB"
inRaster03 = "cost_MB"

# Execute CellStatistics
outCellStatistics = CellStatistics([inRaster01, inRaster02, inRaster03], "RANGE", "NODATA", "MULTI_BAND")

# Save the output 
outCellStatistics.save("C:/sapyexamples/output/cellstats_MB.tif")

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

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

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