Composantes principales (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Effectue l’analyse en composantes principales (ACP) sur un jeu de canaux raster et génère un raster multicanal unique en sortie.

Pour en savoir plus sur les composantes principales

Utilisation

  • La valeur spécifiée pour le nombre de composantes principales détermine le nombre de canaux de composante principale dans le raster multicanal en sortie. Ce nombre ne doit pas être supérieur au nombre total de canaux raster en entrée.

  • Lorsqu’un raster multicanal est spécifié comme l’un des canaux raster en entrée (Input raster bands) (in_raster_bands dans Python), tous les canaux sont utilisés.

    Pour traiter une sélection de canaux à partir d’un raster multicanal, vous pouvez créer en premier un jeu de données raster composé de ces canaux spécifiques à l’aide de l’outil Canaux composites et utilisez le résultat dans la liste des canaux raster en entrée (Input raster bands) (in_raster_bands dans Python).

  • Les canaux raster doivent avoir une intersection commune. En l’absence d’une telle intersection, une erreur survient et aucune sortie n’est créée.

  • Le pourcentage de variance identifie la proportion de la variance que chaque valeur propre capture. Cela facilite l'interprétation des résultats de l'analyse des composantes principales. Si quelques valeurs propres (chacune correspondant à des canaux dans le raster en sortie) capturent la plus grande partie de la variance, il peut être utile d'utiliser ce sous-ensemble de canaux dans une analyse ultérieure, car elles peuvent capturer la plupart des interactions dans le jeu de données multicanal d'origine.

  • Pour déterminer le pourcentage de variance capturé par chaque valeur propre, la somme des valeurs propres doit être saisie dans la formule suivante : (valeur propre * 100)/Somme. La première valeur propre (et le canal qui lui est associé) capture la variance la plus élevée et les valeurs propres suivantes capturent la variance inférieure de manière séquentielle. Le pourcentage de variance cumulé est une somme séquentielle de la variance que chaque valeur propre capture.

  • Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.

Paramètres

ÉtiquetteExplicationType de données
Canaux raster en entrée

Canaux raster en entrée.

Ils peuvent être de type entier ou à virgule flottante.

Raster Layer
Nombre de composantes principales
(Facultatif)

Nombre des composantes principales.

Ce nombre doit être supérieur à zéro et inférieur ou égal au nombre total de canaux raster en entrée.

La valeur par défaut correspond au nombre total de rasters en entrée.

Long
Fichier de données en sortie
(Facultatif)

Fichier de données ASCII en sortie contenant les paramètres des composantes principales.

Le fichier de données en sortie enregistre les matrices de covariance et de corrélation, les valeurs et les vecteurs propres, le pourcentage de variance capturé par chaque valeur propre, ainsi que la variance cumulée décrite par les valeurs propres.

L’extension du fichier en sortie peut être .txt ou .asc.

File

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster multicanal en sortie

Jeu de données d'un raster multicanal en sortie.

Si tous les canaux en entrée sont de type entier, les canaux raster en sortie seront également de type entier. Si certains des canaux en entrée sont de type virgule flottante, les canaux en sortie seront de type virgule flottante.

Si la sortie est un raster Grid Esri, le nom doit comporter moins de 10 caractères.

Raster

PrincipalComponents(in_raster_bands, {number_components}, {out_data_file})
NomExplicationType de données
in_raster_bands
[in_raster_band,...]

Canaux raster en entrée.

Ils peuvent être de type entier ou à virgule flottante.

Raster Layer
number_components
(Facultatif)

Nombre des composantes principales.

Ce nombre doit être supérieur à zéro et inférieur ou égal au nombre total de canaux raster en entrée.

La valeur par défaut correspond au nombre total de rasters en entrée.

Long
out_data_file
(Facultatif)

Fichier de données ASCII en sortie contenant les paramètres des composantes principales.

Le fichier de données en sortie enregistre les matrices de covariance et de corrélation, les valeurs et les vecteurs propres, le pourcentage de variance capturé par chaque valeur propre, ainsi que la variance cumulée décrite par les valeurs propres.

L’extension du fichier en sortie peut être .txt ou .asc.

File

Valeur renvoyée

NomExplicationType de données
out_multiband_raster

Jeu de données d'un raster multicanal en sortie.

Si tous les canaux en entrée sont de type entier, les canaux raster en sortie seront également de type entier. Si certains des canaux en entrée sont de type virgule flottante, les canaux en sortie seront de type virgule flottante.

Si la sortie est un raster Grid Esri, le nom doit comporter moins de 10 caractères.

Raster

Exemple de code

Exemple 1 d'utilisation de l'outil PrincipalComponents (fenêtre Python)

Cet exemple effectue l'analyse en composantes principales (ACP) sur un raster multicanal en entrée et génère un raster multicanal en sortie.

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")
Exemple 2 d'utilisation de l'outil PrincipalComponents (script autonome)

Cet exemple effectue l'analyse en composantes principales (ACP) sur un raster multicanal en entrée et génère un raster multicanal en sortie.

# 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"

# Execute PrincipalComponents
outPrincipalComp = PrincipalComponents([inRasterBand1, inRasterBand2], 2,
                                       outDataFile)

# Save the output 
outPrincipalComp.save("C:/sapyexamples/output/outpc01")

Rubriques connexes