Статистика по ячейкам (Spatial 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_standalone.py
# Description: Calculates a per-cell statistic from multiple multiband rasters
#               and process as multiband.
# 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
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")