Статистика набора каналов (Band Collection Statistics) (Spatial Analyst)
Резюме
Вычисляет статистику для набора каналов растра.
Более подробно о том, как работает инструмент Статистика набора каналов
Использование
-
Каналы растра должны иметь общую область пересечения. Если таковой нет, выдается ошибка, и выходные данные не создаются.
-
Если экстенты каналов растра не совпадают, статистика будет вычислена для общего пространственного экстента всех входных каналов растра. Размер ячейки будет равен максимальному из значений размеров ячейки на входных растрах; в противном случае, он будет зависеть от параметров среды Анализ растров (Raster Analysis).
-
Настройка по умолчанию параметра Вычислить матрицы (Compute matrices) (BRIEF в скриптах, не отмечено в диалоговом окне инструмента) заключается в вычислении только минимального, максимального, среднего и стандартного отклонения каналов входного растра. Чтобы вычислить эту статистику, а также матрицы ковариации и корреляции, установите параметр на DETAILED в скриптах или поставьте отметку в диалоговом окне инструмента. Матрица ковариации представляет дисперсии всех каналов растра вдоль диагонали, которая проходит из верхнего левого в нижний правый угол матрицы; остальные значения - это ковариации между всеми каналами растра. Матрица корреляции содержит коэффициенты корреляции для всех сочетаний двух входных каналов.
-
При вычислении матрицы ковариации для всех входных ячеек, в которых установлено "Нет данных (NoData)", используется среднее значение по ячейкам.
-
Статистика записывается в выходной файл текстового формата ASCII. Расширение выходного файла должно быть .txt.
-
Если входные данные представлены слоем, созданным на основании многоканального растра, содержащего более трёх каналов, операция будет выполняться для всех каналов, связанных с исходным набором данных, а не только для трёх каналов, которые загружены слоем (то есть, отображаются символами).
Существует несколько способов для указания поднабора каналов многоканального растра, которые нужно использовать в качестве входных данных инструмента.
- При использовании диалогового окна инструмента перейдите к многоканальному растру с помощью кнопки обзора, расположенной рядом с пунктом Входные растровые каналы (Input raster bands), откройте растр и выберите нужные каналы.
- Если многоканальный растр является слоем в Таблице содержания, можно использовать инструмент Make Raster Layer (Создать растровый слой), чтобы создать новые многоканальный слой, содержащий только нужные каналы.
- Можно также создать новый набор данных, содержащий только нужные каналы, используя для этого инструмент Объединить каналы (Composite Bands), входными данными для которого будет являться полученный набор данных.
- В Python нужные каналы можно указать как список напрямую в параметре инструмента.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster_bands [in_raster_band,...] |
Входные каналы растров. | Raster Layer |
out_stat_file |
Выходной ASCII-файл, содержащий статистику. Обязательным является расширение .txt. | File |
compute_matrices (дополнительно) |
Определяет, будут ли вычислены матрицы ковариации и корреляции.
| Boolean |
Пример кода
В этом примере вычисляется статистику для набора каналов растра.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
BandCollectionStats("redlands", "c:/sapyexamples/output/redbandstats.txt", "BRIEF")
В этом примере вычисляется статистику для набора каналов растра.
# Name: BandCollectionStats_Ex_02.py
# Description: Calculates the statistics for a set of raster bands.
# 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
inRasterBand1 = "sb/sbc1"
inRasterBand2 = "sb/sbc2"
outStatFile = "C:/sapyexamples/output/bandstatfile.txt"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
# Execute BandCollectionStats
BandCollectionStats([inRasterBand1, inRasterBand2], outStatFile, "DETAILED")