Доступно с лицензией Spatial Analyst.
Краткая информация
Вычисляет статистику для набора каналов растра.
Более подробно о том, как работает инструмент Статистика набора каналов
Использование
Каналы растра должны иметь общую область пересечения. При ее отсутствии возникнет ошибка и выходные данные созданы не будут.
Если экстенты каналов растра не совпадают, статистика будет вычислена для общего пространственного экстента всех входных каналов растра. Размер ячейки будет равен максимальному из значений размеров ячейки на входных растрах; в противном случае, он будет зависеть от параметров среды Анализ растров.
Для параметра Вычислить матрицы ковариации и корреляции применяемая по умолчанию (выключенная) настройка (BRIEF в скрипте) означает, что вычислены будут только минимум, максимум, среднее значение и стандартное отклонение входных каналов. Чтобы вычислить, помимо этой статистики, матрицы ковариации и корреляции, включите этот параметр в диалоговом окне инструмента (либо используйте в скрипте DETAILED).
Матрица ковариации представляет дисперсии всех каналов растра вдоль диагонали, которая проходит из верхнего левого в нижний правый угол матрицы; остальные значения - это ковариации между всеми каналами растра. Матрица корреляции содержит коэффициенты корреляции для всех сочетаний двух входных каналов.
При вычислении матрицы ковариации для всех входных ячеек, в которых установлено NoData, используется среднее значение по ячейкам.
Статистика записывается в выходной файл текстового формата ASCII. Расширение выходного файла должно быть .txt.
Если входные данные представлены слоем, созданным на основании многоканального растра, содержащего более трёх каналов, операция будет выполняться для всех каналов, связанных с исходным набором данных, а не только для трёх каналов, которые загружены слоем (то есть, отображаются символами).
Существует несколько способов для указания поднабора каналов многоканального растра, которые нужно использовать в качестве входных данных инструмента.
- При использовании диалогового окна инструмента перейдите к многоканальному растру с помощью кнопки обзора , расположенной рядом с пунктом Входные растровые каналы (Input raster bands), откройте растр и выберите нужные каналы.
- Если многоканальный растр является слоем в Таблице содержания, можно использовать инструмент Создать растровый слой, чтобы создать новый многоканальный слой, содержащий только нужные каналы.
- Можно также создать новый набор данных, содержащий только нужные каналы, используя для этого инструмент Объединить каналы, входными данными для которого будет являться полученный набор данных.
- В Python нужные каналы можно указать как список напрямую в параметре инструмента.
Синтаксис
BandCollectionStats (in_raster_bands, out_stat_file, {compute_matrices})
Параметр | Объяснение | Тип данных |
in_raster_bands [in_raster_band,...] | Входные каналы растров. Они могут быть целочисленными или с плавающей точкой. | Raster Layer |
out_stat_file | Выходной ASCII-файл, содержащий статистику. Требуется расширение .txt. | File |
compute_matrices (дополнительно) | Определяет, будут ли вычислены матрицы ковариации и корреляции.
| Boolean |
Пример кода
BandCollectionStatistics, пример 1 (окно Python)
В этом примере вычисляется статистику для набора каналов растра.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
BandCollectionStats("redlands", "c:/sapyexamples/output/redbandstats.txt", "BRIEF")
BandCollectionStatistics, пример 2 (автономный скрипт)
В этом примере вычисляется статистику для набора каналов растра.
# 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")