标注 | 说明 | 数据类型 |
输入多维栅格 | 输入多维栅格。 该工具沿维度处理数据,例如时间序列栅格或由非时间维度 [X, Y, Z] 定义的数据立方体。 如果输入变量包含多个维度(例如深度和时间),则默认使用第一个维度值。 | Raster Dataset; Mosaic Dataset; Raster Layer; Mosaic Layer; Image Service; File |
众数 | 指定将用于执行主成分分析的方法。
| String |
维度 | 用于处理主成分的维度名称。 | String |
输出主成分 | 输出栅格数据集的名称。 当模式参数指定为降维时,将输出一个组件为波段的多波段栅格。 第一个波段是具有最大特征值的第一个主成分,第二个波段是具有第二大特征值的主成分,以此类推。 输出为 CRF 文件格式 (.crf),其中维护了多维信息。 当模式参数指定为空间缩减时,将输出一个包含一组表示主成分的时间序列数据的表。 | Raster Dataset; Table |
输出负载 | 输出将加载构成主成分的数据。 当模式参数指定为降维时,将输出一个包含构成主成分的每个输入栅格权重的表。 这些权重定义了输入数据和输出主成分的相关性。 使用 .csv 文件扩展名将负载输出为逗号分隔值文件。 当模式参数指定为空间缩减时,将输出的栅格中的像素值是构成主成分的权重。 像素值越高,与主成分相关性越高。 由于应用了随机重新投影以降低计算复杂度,因此输出的像元大小可能比输入栅格更大。 输出将加载构成主成分的数据。 当 mode 参数指定为 DIMENSION_REDUCTION 时,将输出一个包含构成主成分的每个输入栅格权重的表。 这些权重定义了输入数据和输出主成分的相关性。 使用 .csv 文件扩展名将负载输出为逗号分隔值文件。 当 mode 参数指定为 SPATIAL_REDUCTION 时,将输出的栅格中的像素值是构成主成分的权重。 像素值越高,与主成分相关性越高。 由于应用了随机重新投影以降低计算复杂度,因此输出的像元大小可能比输入栅格更大。 | Table; Raster Dataset |
输出特征值 (可选) | 输出特征值表。 特征值表示每个成分的方差百分比。 特征值可帮助您定义表示数据集所需的主成分数。 | Table |
变量 (可选) | 计算中使用的输入多维栅格的变量。 如果输入栅格为多维栅格且未指定变量,则默认情况下只会分析第一个变量。 例如,要查找温度值最高的年份,请将温度指定为要分析的变量。 如果您没有指定任何变量,并且您同时拥有温度和降水量变量,则将分析这两个变量,并且输出多维栅格将包含两个变量。 | String |
主成分数 (可选) | 要计算的主成分数,该值通常小于输入栅格数。 此参数也采用百分比 (%) 形式。 例如,90% 值表示将计算可以解释 90% 数据方差的成分数。 | String |
获得 Image Analyst 许可后可用。
摘要
将多维栅格转换为其主成分、负载和特征值。 该工具可将数据转换为可解释数据方差的数量减少的成分,以便轻松识别空间和时间模式。
使用情况
-
使用输出特征值表中的特征值和累积方差百分比来确定定义数据所需的主成分数,而不会丢失基本信息。
在上面的示例中,第一个成分显示了 72.51% 方差值。 要达到 95% 方差值,请选择前五个成分。
模式参数的降维选项将数据作为一组图像进行分析。 它将数据转换并减少为一组可以捕获主要要素和模式的图像。 主成分是存储为多波段数据集的一组栅格。
模式参数的空间缩减选项将数据作为一组像素时间序列进行分析。 它将找到主要时间模式和这些时间模式的关联空间位置。 主成分是存储在表中的一组一维数组。
将在输出图层上自动创建图表,以分析和了解负载、主成分和特征值。
主成分数参数可指定输出中的波段数。 为了避免输出不必要的大栅格,请使用适当的百分比或成分数。 通常,前几个成分将涵盖数据的最大方差。
参数
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 | 指定将用于执行主成分分析的方法。
| String |
dimension | 用于处理主成分的维度名称。 | String |
out_pc | 输出栅格数据集的名称。 当 mode 参数指定为 DIMENSION_REDUCTION 时,将输出一个组件为波段的多波段栅格。 第一个波段是具有最大特征值的第一个主成分,第二个波段是具有第二大特征值的主成分,以此类推。 输出为 CRF 文件格式 (.crf),其中维护了多维信息。 当 mode 参数指定为 SPATIAL_REDUCTION 时,将输出一个包含一组表示主成分的时间序列数据的表。 | Raster Dataset; Table |
out_loadings | 输出将加载构成主成分的数据。 当 mode 参数指定为 DIMENSION_REDUCTION 时,将输出一个包含构成主成分的每个输入栅格权重的表。 这些权重定义了输入数据和输出主成分的相关性。 使用 .csv 文件扩展名将负载输出为逗号分隔值文件。 当 mode 参数指定为 SPATIAL_REDUCTION 时,将输出的栅格中的像素值是构成主成分的权重。 像素值越高,与主成分相关性越高。 由于应用了随机重新投影以降低计算复杂度,因此输出的像元大小可能比输入栅格更大。 | Table; Raster Dataset |
out_eigenvalues (可选) | 输出特征值表。 特征值表示每个成分的方差百分比。 特征值可帮助您定义表示数据集所需的主成分数。 | Table |
variable (可选) | 计算中使用的输入多维栅格的变量。 如果输入栅格为多维栅格且未指定变量,则默认情况下只会分析第一个变量。 例如,要查找温度值最高的年份,请将温度指定为要分析的变量。 如果您没有指定任何变量,并且您同时拥有温度和降水量变量,则将分析这两个变量,并且输出多维栅格将包含两个变量。 | String |
number_of_pc (可选) | 要计算的主成分数,该值通常小于输入栅格数。 此参数也采用百分比 (%) 形式。 例如,90% 值表示将计算可以解释 90% 数据方差的成分数。 | String |
代码示例
本示例根据 NDVI 时间序列栅格计算三个主成分。
# 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 时间序列栅格计算了四个主成分。
# 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)
本示例在“空间缩减”模式下,根据时间序列栅格计算了三个主成分。
# 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('sstData.crf', 'SPATIAL_REDUCTION', "StdTime", "sstData_temporal_PC.csv", "sstData_loading_raster.crf", "sstData_eiganvalues.csv", None, 3)