Статистика по блокам (Spatial Analyst)

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

Сводка

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

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

Иллюстрация

Иллюстрация статистики по блокам с включенной опцией Максимум
OutRas = BlockStatistics(InRas1, NbrRectangle(3,3,MAP), "MAXIMUM", "")

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

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

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

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

  • Когда задана окрестность в форме круга, кольца или клина, в зависимости от размера окрестности, в вычислениях могут не учитываться ячейки, которые не перпендикулярны оси x или y. Однако местоположениям этих ячеек будет присвоено результирующее значение, полученное при вычислениях окрестности, поскольку они попадают в минимальный ограничивающий прямоугольник (или результирующий блок) этих типов круговых окрестностей.

  • Для типов окрестностей Нерегулярный и Вес требуется наличие керн-файла. Керн-файл должен иметь расширение .txt.

    Информацию о создании и использовании файлов ядра смотрите в подразделах Нерегулярный и Вес в разделе Как работает инструмент Статистика по блокам.

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

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

  • Если Тип статистики – Среднее, Меньшинство, Среднеквадратическое отклонение или Сумма, тип Окрестности может быть определен как Вес.

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

Синтаксис

BlockStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata})
ParameterОбъяснениеТип данных
in_raster

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

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

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

Типы окрестности включают: NbrAnnulus, NbrCircle, NbrRectangle, NbrWedge, NbrIrregular, и NbrWeight.

Ниже приведены формы окрестности:

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})
  • NbrCircle({radius}, {units}
  • NbrRectangle({width}, {height}, {units})
  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})
  • NbrIrregular(inKernelFile)
  • NbrWeight(inKernelFile)

Окрестность по умолчанию – это квадрат NbrRectangle со стороной 3 ячейки.

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

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

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

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

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

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

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

Значение отраженного сигнала

NameОбъяснениеТип данных
out_raster

Выходной растр статистики по блокам.

Raster

Пример кода

BlockStatistics Пример 1 (окно Python)

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

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
nbr = NbrAnnulus(1, 3, "MAP")
outBlockStat = BlockStatistics("block", nbr, "MINIMUM", "")
outBlockStat.save("C:/sapyexamples/output/blockstat")
BlockStatistics, пример 2 (автономный скрипт)

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

# Name: BlockStatistics_Ex_02.py
# Description: Calculates statistics for a nonoverlapping 
#              neighborhood.
# 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
inRaster = "block"
nbr = NbrAnnulus(1, 3, "MAP")

# Execute BlockStatistics
outBlockStat = BlockStatistics(inRaster, nbr, "MINIMUM", "NODATA")

# Save the output 
outBlockStat.save("C:/sapyexamples/output/blockstat")

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

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

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