多维主成分分析 (Image Analyst)

获得 Image Analyst 许可后可用。

摘要

将多维栅格转换为其主成分、负载和特征值。 该工具可将数据转换为可解释数据方差的数量减少的成分,以便轻松识别空间和时间模式。

使用情况

  • 使用输出特征值表中的特征值和累积方差百分比来确定定义数据所需的主成分数,而不会丢失基本信息。

    特征值表

    在上面的示例中,第一个成分显示了 72.51% 方差值。 要达到 95% 方差值,请选择前五个成分。

  • 输出负载参数值应用图表,以了解输入多维栅格参数中的每个栅格如何转换为主成分。

  • 主成分数参数可指定输出中的波段数。 为了避免输出不必要的大栅格,请使用适当的百分比或成分数。 通常,前几个成分将涵盖数据的最大方差。

  • 输出主成分参数值包含多个波段,每个波段表示一个成分。 使用带波段选项的拉伸渲染器来可视化每个主成分。

参数

标注说明数据类型
输入多维栅格

输入多维栅格。

该工具沿维度处理数据,例如时间序列栅格或由非时间维度 [X, Y, Z] 定义的数据立方体。 如果输入变量包含多个维度(例如深度和时间),则默认使用第一个维度值。

您可以根据需要使用创建多维栅格图层工具或子集多维栅格工具重新定义多维数据,例如将多维数据配置为一维数据集。

Raster Dataset; Mosaic Dataset; Raster Layer; Mosaic Layer; Image Service; File
模式

指定将用于执行主成分分析的方法。

  • 降维输入时间序列数据将被视为一组图像。 将计算随时间提取流行模式的主成分。 这是默认设置。
注:

ArcGIS Pro 2.9 中的地理处理窗格不支持此参数的其他选项。 唯一支持的选项为降维。 因此,此参数在地理处理工具对话框中不可见。未来的版本中将支持其他选项。

String
维度

用于处理主成分的维度名称。

String
输出主成分

输出栅格数据集的名称。 输出为多波段栅格,其成分为波段。 第一个波段是具有最大特征值的第一个主成分,第二个波段是具有第二大特征值的主成分,以此类推。

输出采用 CRF 文件格式 (.crf)。

Raster Dataset; Table
输出负载

包含转换为主成分的每个输入栅格的权重的输出表。 该表与输入数据和输出主成分相关。 使用 .csv 文件扩展名将负载输出为逗号分隔值文件。

Table; Raster Dataset
输出特征值
(可选)

输出特征值表。 特征值表示每个成分的方差百分比。 特征值可帮助您定义表示数据集所需的主成分数。

Table
变量
(可选)

计算中使用的输入多维栅格的变量。 如果输入栅格为多维栅格且未指定变量,则默认情况下只会分析第一个变量。

例如,要查找温度值最高的年份,请将温度指定为要分析的变量。 如果您没有指定任何变量,并且您同时拥有温度和降水量变量,则将分析这两个变量,并且输出多维栅格将包含两个变量。

String
主成分数
(可选)

要计算的主成分数,该值通常小于输入栅格数。

此参数也采用百分比 (%) 形式。 例如,90% 表示将计算可以解释 90% 数据方差的成分数。

String

MultidimensionalPrincipalComponents(in_multidimensional_raster, mode, dimension, out_pc, out_loadings, {out_eigenvalues}, {variable}, {number_of_pc})
名称说明数据类型
in_multidimensional_raster

输入多维栅格。

该工具沿维度处理数据,例如时间序列栅格或由非时间维度 [X, Y, Z] 定义的数据立方体。 如果输入变量包含多个维度(例如深度和时间),则默认使用第一个维度值。

您可以根据需要使用创建多维栅格图层工具或子集多维栅格工具重新定义多维数据,例如将多维数据配置为一维数据集。

Raster Dataset; Mosaic Dataset; Raster Layer; Mosaic Layer; Image Service; File
mode

指定将用于执行主成分分析的方法。

  • DIMENSION_REDUCTION输入时间序列数据将被视为一组图像。 将计算随时间提取流行模式的主成分。 这是默认设置。
注:

2.9 中,唯一支持的选项为 DIMENSION_REDUCTON。 未来的版本中将支持其他选项。

String
dimension

用于处理主成分的维度名称。

String
out_pc

输出栅格数据集的名称。 输出为多波段栅格,其成分为波段。 第一个波段是具有最大特征值的第一个主成分,第二个波段是具有第二大特征值的主成分,以此类推。

输出采用 CRF 文件格式 (.crf)。

Raster Dataset; Table
out_loadings

包含转换为主成分的每个输入栅格的权重的输出表。 该表与输入数据和输出主成分相关。 使用 .csv 文件扩展名将负载输出为逗号分隔值文件。

Table; Raster Dataset
out_eigenvalues
(可选)

输出特征值表。 特征值表示每个成分的方差百分比。 特征值可帮助您定义表示数据集所需的主成分数。

Table
variable
(可选)

计算中使用的输入多维栅格的变量。 如果输入栅格为多维栅格且未指定变量,则默认情况下只会分析第一个变量。

例如,要查找温度值最高的年份,请将温度指定为要分析的变量。 如果您没有指定任何变量,并且您同时拥有温度和降水量变量,则将分析这两个变量,并且输出多维栅格将包含两个变量。

String
number_of_pc
(可选)

要计算的主成分数,该值通常小于输入栅格数。

此参数也采用百分比 (%) 形式。 例如,90% 表示将计算可以解释 90% 数据方差的成分数。

String

代码示例

MultidimensionalPrincipalComponents 示例 1(Python 窗口)

本示例根据 NDVI 时间序列栅格计算三个主成分。 输入和输出数据均位于名为 c:\data 的目录中。

# Import system modules 
import arcpy 
from arcpy.ia import *  

# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 

arcpy.env.workspace = r"c:\data" 
arcpy.ia.MultidimensionalPrincipalComponents('ndviData.crf', 'DIMENSION_REDUCTION', "StdTime", "ndviData_PC.crf", "ndviData_loadings.csv", "ndviData_eiganvalues.csv", None, 3)
MultidimensionalPrincipalComponents 示例 2(独立脚本)

本示例根据 NDVI 时间序列栅格计算四个主成分。 输入和输出数据均位于名为 c:\data 的目录中。

# Import system modules 
import arcpy 
from arcpy.ia import * 

# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 

# Define input parameters 
inputFile = r"c:\data\ndviData.crf" 
mode = "DIMENSION_REDUCTION" 
dimension = "StdTime" 
out_pc = r"c:\data\ndviData_pc.tif" 
out_loadings = r"c:\data\ndviData_loadings.csv" 
out_eiganvalues = r"c:\data\ndviData_pc.csv" 
variable = "ndvi" 
pc_number = 4 
  
# Execute  

arcpy.ia.MultidimensionalPrincipalComponents(inputFile, mode, dimension, out_pc, out_loadings, out_eiganvalues, variable, pc_number)

许可信息

  • Basic: 需要 Image Analyst
  • Standard: 需要 Image Analyst
  • Advanced: 需要 Image Analyst

相关主题