Фокальная статистика (Focal Statistics) (Spatial Analyst)

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

Резюме

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

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

Рисунок

Иллюстрация работы инструмента Фокальная статистика (Focal Statistics)
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,MAP), "SUM", "")

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

Синтаксис

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

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

Raster Layer
neighborhood
(дополнительно)

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

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

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

  • NbrAnnulus({innerRadius}, {outerRadius}, {CELL | MAP})
  • NbrCircle({radius}, {CELL | MAP}
  • NbrRectangle({width}, {height}, {CELL | MAP})
  • NbrWedge({radius}, {start_angle}, {end_angle}, {CELL | MAP})
  • NbrIrregular(kernel_file)
  • NbrWeight(kernel_file)

Параметр {CELL | MAP} определяет единицы расстояния как единицы ячейки или единицы карты.

Окрестность по умолчанию – это квадрат 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)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"), 
                               "MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
Фокальная статистика. Пример 2 (автономный скрипт)

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

# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
#    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 = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")

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

# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
                                     "")

# Save the output 
outFocalStatistics.save("C:/sapyexamples/output/focalstatout")

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

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

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

ArcGIS for Desktop Basic: Требует Spatial Analyst
ArcGIS for Desktop Standard: Требует Spatial Analyst
ArcGIS for Desktop Advanced: Требует Spatial Analyst
9/11/2013