Статистика по ячейкам (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
Статистика наложения
(Дополнительный)

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

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

  • СреднееБудет рассчитано среднее значение входных данных. Это значение по умолчанию
  • БольшинствоБудет определяться наиболее часто встречающееся входное значение.
  • МаксимумБудет определяться максимальное (наибольшее) из входных значений.
  • МедианаБудет рассчитана медиана входных данных.
  • МинимумБудет определяться минимальное (наименьшее) из входных значений.
  • МеньшинствоБудет определяться реже всего встречающееся значение входных растров.
  • ПроцентильБудет вычислен процентиль входных данных. Девяностый процентиль вычисляется по умолчанию. Вы можете задать другие значения (от 1 до 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.sa import *
env.workspace = "C:/sapyexamples/data"
outCellStats = CellStatistics(["degs", "negs", "cost"], "STD", "DATA")
outCellStats.save("C:/sapyexamples/output/outcellstats.img")
CellStatistics, пример 2 (автономный скрипт)

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

# Name: CellStatistics_Ex_02.py
# Description: Calculates a per-cell statistic from multiple rasters
# 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
inRaster01 = "degs"
inRaster02 = "negs"
inRaster03 = "cost"

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

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

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