Disponible con una licencia de Spatial Analyst.
Resumen
Ejecuta un Análisis de los componentes principales (PCA) de un conjunto de bandas de ráster y genera un ráster multibanda simple como salida.
Uso
El valor especificado para la cantidad de componentes principales determina la cantidad de bandas de componente principal en el ráster multibanda de salida. La cantidad no debe ser mayor a la cantidad total de bandas de ráster en la entrada.
Cuando se especifica un ráster multibanda como una de las Bandas del ráster de entrada (in_raster_bands en Python), se utilizarán todas las bandas.
Para procesar una selección de bandas a partir de un ráster multibanda, puede crear primero un dataset ráster nuevo formado por esas bandas concretas con la herramienta Bandas compuestas y utilizar el resultado en la lista de Bandas del ráster de entrada (in_raster_bands en Python).
Las bandas ráster deben tener una intersección común. Si no hay ninguna, se produce un error y no se crea ninguna salida.
El porcentaje de varianza identifica la cantidad de la varianza que cada valor eigen captura. Esto puede ser útil para ayudar a interpretar los resultados del PCA. Si varios eigenvalores (cada uno correspondiente a bandas del ráster de salida) capturan la mayoría de la varianza, entonces podría ser adecuado utilizar este subconjunto de bandas en un análisis posterior, ya que pueden capturar la mayoría de las interacciones dentro del dataset multibanda original.
Al determinar el porcentaje de varianza que cada valor eigen captura, la suma de valores eigen se introduce en la siguiente fórmula: (eigenvalue * 100)/Suma. El primer valor eigen (y su banda asociada) captura la varianza más grande, y los valores eigen posteriores capturan secuencialmente menos varianza. El porcentaje acumulativo de varianza es una suma secuencial de la varianza que cada valor eigen captura.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento válidos para esta herramienta.
Sintaxis
PrincipalComponents (in_raster_bands, {number_components}, {out_data_file})
Parámetro | Explicación | Tipo de datos |
in_raster_bands [in_raster_band,...] | Bandas del ráster de entrada. Pueden ser de tipo entero o de punto flotante. | Raster Layer |
number_components (Opcional) | Cantidad de componentes principales. La cantidad debe ser mayor que cero y menor o igual que la cantidad total de bandas de ráster de entrada. El valor predeterminado es la cantidad total de rásteres en la entrada. | Long |
out_data_file (Opcional) | Archivo de datos ASCII de salida que almacena los parámetros del componente principal. El archivo de datos de salida especificado registra las matrices de correlación y covarianza, los eigenvalores y los eigenvectores, el porcentaje de varianza que captura cada eigenvalor y la varianza acumulativa descrita por los eigenvalores. La extensión para el archivo de salida puede ser .txt o .asc. | File |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_multiband_raster | El dataset ráster multibanda de salida. Si todas las bandas de entrada son de tipo entero, las bandas del ráster de salida serán un entero. Si alguna de las bandas de entrada son punto flotante, la salida será un punto flotante. Si la salida es un ráster de cuadrícula de Esri, el nombre debe tener menos de 10 caracteres. | Raster |
Muestra de código
Ejemplo 1 de Componentes principales (ventana de Python)
En este ejemplo se ejecuta el Análisis de componentes principales (PCA) en un ráster multibanda de entrada y genera una salida de ráster multibanda.
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")
Ejemplo 2 de Componentes principales (secuencia de comandos independiente)
En este ejemplo se ejecuta el Análisis de componentes principales (PCA) en un ráster multibanda de entrada y genera una salida de ráster multibanda.
# 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")
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere Spatial Analyst
- ArcGIS Desktop Standard: Requiere Spatial Analyst
- ArcGIS Desktop Advanced: Requiere Spatial Analyst