主成分分析 (空间分析)
用法
-
为主成分数指定的值可用于确定输出多波段栅格中的主成分波段数。该数目不得大于输入中的栅格波段总数。
-
栅格波段必须具有一个公共交集。如果不存在公共交集,则会出现错误,且不会创建任何输出。
-
在指定输出数据文件名的情况下,协方差和相关矩阵、特征值和特征向量以及各特征值所捕获的百分比方差和所述的累积方差都将存储在 ASCII 文件中。
百分比方差确定了各特征值所捕获的方差量。这可用于解释 PCA 的结果。如果少数特征值(各特征值与输出格栅中的波段对应)捕获了大量方差,则在后续波段分析中使用此波段子集可能已经足够,因为它们可以捕获原始多波段数据集中的大部分交互作用。
在确定各特征值所捕获的百分比方差时,将特征值之和输入以下公式:(特征值 * 100)/总和。第一个特征值(及其关联波段)捕获最大的方差,后续的特征值会捕获顺次较小的方差。累积的方差百分比为各特征值所捕获的连续方差之和。
-
如果输入为创建自多波段栅格(超过三个波段)的图层,则操作将会考虑与源数据集相关联的所有波段,而不仅仅是由图层加载(符号化)的三个波段。
您可以使用多种方式将多波段栅格的波段子集指定为工具的输入。
语法
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 Grid 栅格,名称必须少于 10 个字符。 | Raster |
代码实例
主成分分析 (PrincipalComponents) 示例 1(Python 窗口)
此例对输入多波段栅格执行主成分分析 (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")
主成分分析 (PrincipalComponents) 示例 2(独立脚本)
此例对输入多波段栅格执行主成分分析 (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 for Desktop Basic: 需要 Spatial Analyst
ArcGIS for Desktop Standard: 需要 Spatial Analyst
ArcGIS for Desktop Advanced: 需要 Spatial Analyst
5/10/2014