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.
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.
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 de examinar junto a Bandas de ráster de entrada, abra el ráster y, a continuación, seleccione las bandas que desee.
- Si el ráster multibanda es una capa de la tabla de contenido, puede usar la herramienta Crear capa ráster para crear una nueva capa multibanda que solo contenga 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.
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 Guadrí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 Análisis espacial
- ArcGIS Desktop Standard: Requiere Análisis espacial
- ArcGIS Desktop Advanced: Requiere Análisis espacial