Componentes principales (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.
-
Las bandas ráster deben tener una intersección común. Si no hay ninguna, ocurre un error y no se crea ninguna salida.
-
Con el nombre del archivo de datos de salida especificado, la correlación y las matrices de covarianza, y los valores eigen y los vectores eigen, así como el porcentaje de varianza que cada valor eigen captura y la varianza acumulativa descrita, se almacenarán en un archivo ASCII.
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 algunos valores eigen (cada uno correspondiente a bandas en el 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: (valor eigen * 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.
-
Si la entrada es una capa creada desde un ráster multibanda con más de tres bandas, la operación considerará todas las bandas asociadas con el dataset de origen, no sólo las tres bandas que fueron cargadas (simbolizadas) por la capa.
Hay varias maneras de especificar un subconjunto de bandas a partir de un ráster multibanda para utilizar como entrada en la herramienta.
- Si utiliza el cuadro de diálogo de la herramienta, navegue hasta el ráster multibanda utilizando el botón junto a Bandas de ráster de entrada, abra el ráster y, a continuación, seleccione las bandas deseadas.
- Si el ráster multibanda es una capa en la Tabla de contenido, puede utilizar la herramienta Crear capa ráster para crear una nueva capa multibanda que contiene solo las bandas deseadas.
- También puede crear un nuevo dataset que contiene solo las bandas deseadas con Bandas compuestas y utilizar el dataset resultante como entrada para la herramienta.
- En Python, las bandas deseadas se pueden especificar directamente en el parámetro de herramienta como una lista.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_raster_bands [in_raster_band,...] |
Bandas del ráster de entrada. | 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. 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 la salida es un ráster de cuadrícula de Esri, el nombre debe tener menos de 10 caracteres. | Raster |
Ejemplo de código
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")
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")