标注 | 说明 | 数据类型 |
输入多维栅格 | 输入多维栅格。 该工具沿维度处理数据,例如时间序列栅格或由非时间维度 [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 |
获得 Image Analyst 许可后可用。
摘要
将多维栅格转换为其主成分、负载和特征值。 该工具可将数据转换为可解释数据方差的数量减少的成分,以便轻松识别空间和时间模式。
使用情况
参数
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 | 指定将用于执行主成分分析的方法。
注:在 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 |
代码示例
本示例根据 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)
本示例根据 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