Доступно с лицензией 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})
Parameter | Объяснение | Тип данных |
in_raster_bands [in_raster_band,...] | Входные каналы растров. Они могут быть целочисленными или с плавающей точкой. | Raster Layer |
number_components (Дополнительный) | Число главных компонент. Число должно быть больше нуля и меньше или равно общему числу каналов растра во входных каналах растра. По умолчанию используется общее число каналов растра на входных данных. | Long |
out_data_file (Дополнительный) | Выходной ASCII-файл данных, в котором хранятся параметры главных компонент. Выходной файл выходных данных записывает матрицы корреляции и ковариации, наряду с собственными числами и векторами, а также процентной дисперсией, собираемой каждым характеристическим числом, и описанной суммарной дисперсией. Выходной файл может иметь расширение .txt или .asc. | File |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_multiband_raster | Выходной многоканальный набор растровых данных. Если значения во всех входных каналах целочисленные, выходной растр также будет целочисленным. Если в каком-либо из входных каналов содержатся данные с плавающей точкой, выходные данные также будут иметь этот тип. Если выходными данными является растр сетки ESRI, имя файла должно состоять не более, чем из 10 символов. | Raster |
Пример кода
В этом примере выполняется 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")
В этом примере выполняется 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")
Environments
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst