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

Уровень лицензии:BasicStandardAdvanced

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

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

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

Рисунок

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

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

Синтаксис

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

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

Raster Layer
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 со стороной три ячейки.

Neighborhood
statistics_type
(дополнительно)

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

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

Тип статистики, вычисляемой по умолчанию, – MEAN (среднее).

String
ignore_nodata
(дополнительно)

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

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

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

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

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

Raster

Пример кода

Статистика по блокам. Пример 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")
Статистика по блокам. Пример 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")

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

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

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

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Standard: Требует Дополнительный модуль Spatial Analyst
ArcGIS for Desktop Advanced: Требует Дополнительный модуль Spatial Analyst
6/5/2014