Статистика по ячейкам (Spatial 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.
  • В ArcPy если все входные данные являются многомерными растрами с одинаковым количеством переменных, инструмент выполнит операцию для всех срезов с одинаковым значением измерения, а на выходе будет многомерный растр. Переменные во входных данных должны иметь одинаковые или общие размеры.

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

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

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

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

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

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

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

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

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.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")

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

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

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