Доступно с лицензией Spatial Analyst.
Краткая информация
Выполняет Principal Component Analysis (PCA) на наборе каналов растра и создаёт один многоканальный растр в качестве выходных данных.
Более подробно о том, как работает инструмент Метод главных компонент
Использование
Значение, установленное для числа главных компонент, определяет количество каналов главных компонент на выходном многоканальном растре. Число не может быть больше, чем общее количество каналов растра на входных данных.
Если многоканальный растр указан как один из входных для параметра Входные каналы растра (in_raster_bands в Python), будут обработаны все каналы.
Чтобы обработать выбранные каналы многоканального растра, сначала создайте новый набор растровых данных, состоящий только из необходимых каналов, с помощью инструмента Объединить каналы, затем укажите полученный набор как Входной растр (in_raster_bands в Python).
Каналы растра должны иметь общую область пересечения. При ее отсутствии возникнет ошибка и выходные данные созданы не будут.
Процентная дисперсия определяет количество собираемой каждым собственным числом дисперсии. Это может оказаться полезным при интерпретации результатов PCA. Если два собственных значения (каждый относящийся к каналам в выходном растре) собирает большинство дисперсии, будет приемлемо использовать этот поднабор каналов в последующем анализе, так как эти каналы смогут собрать большинство действий с исходным многоканальным набором данных.
При определении процентной дисперсии, каждое собственное число выполняет сбор, сумма собственных чисел указывается в следующей формуле: (собственное число * 100)/сумму. Первое собственное число (и соответствующий канал) собирает самую большую дисперсию; последующие собственные числа собирают дисперсию меньшего порядка. Суммарный процент дисперсии является последовательной суммой дисперсии, собранной каждый собственным значением.
См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
PrincipalComponents (in_raster_bands, {number_components}, {out_data_file})
Параметр | Объяснение | Тип данных |
in_raster_bands [in_raster_band,...] | Входные каналы растров. Они могут быть целочисленными или с плавающей точкой. | Raster Layer |
number_components (Дополнительный) | Число главных компонент. Число должно быть больше нуля и меньше или равно общему числу каналов растра во входных каналах растра. По умолчанию используется общее число каналов растра на входных данных. | Long |
out_data_file (Дополнительный) | Выходной ASCII-файл данных, в котором хранятся параметры главных компонент. Выходной файл выходных данных записывает матрицы корреляции и ковариации, наряду с собственными числами и векторами, а также процентной дисперсией, собираемой каждым характеристическим числом, и описанной суммарной дисперсией. Выходной файл может иметь расширение .txt или .asc. | File |
Возвращаемое значение
Название | Объяснение | Тип данных |
out_multiband_raster | Выходной многоканальный набор растровых данных. Если значения во всех входных каналах целочисленные, выходной растр также будет целочисленным. Если в каком-либо из входных каналов содержатся данные с плавающей точкой, выходные данные также будут иметь этот тип. Если выходными данными является растр сетки ESRI, имя файла должно состоять не более, чем из 10 символов. | Raster |
Пример кода
Метод главных компонент. Пример 1 (окно Python)
В этом примере выполняется Principal Component Analysis (PCA) на входном многоканальном растре и создаются выходные данные многоканального растра.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPrincipalComp = PrincipalComponents(["redlands"], 4,"pcdata.txt")
outPrincipalComp.save("C:/sapyexamples/output/outpc01")
Метод главных компонент. Пример 2 (автономный скрипт)
В этом примере выполняется Principal Component Analysis (PCA) на входном многоканальном растре и создаются выходные данные многоканального растра.
# Name: PrincipalComponents_Ex_02.py
# Description: Performs principal components analysis on 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 = "redlands/redlandsc1"
inRasterBand2 = "redlands/redlandsc3"
numberComponents = 2
outDataFile = "C:/sapyexamples/output/pcdatafile.txt"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
# Execute PrincipalComponents
outPrincipalComp = PrincipalComponents([inRasterBand1, inRasterBand2], 2,
outDataFile)
# Save the output
outPrincipalComp.save("C:/sapyexamples/output/outpc01")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst