Composantes principales (Spatial Analyst)
Récapitulatif
Effectue l'analyse en composantes principales (ACP) sur un jeu de canaux raster et génère un raster multicanal unique en sortie.
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.
-
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.
-
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, sont stockés dans un fichier ASCII, sous le nom de fichier de données en sortie spécifié.
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.
-
Si l'entrée est une couche créée à partir d'un raster multicanal comportant plus de trois canaux, l'opération considérera tous les canaux associés au jeu de données source, et non pas seulement les trois canaux qui ont été chargés (symbolisés) par la couche.
Vous pouvez employer plusieurs méthodes pour spécifier un sous-ensemble de canaux à partir d'un raster multicanal en vue de l'utiliser en entrée dans l'outil.
- Si vous utilisez la boîte de dialogue de l'outil, accédez au raster multicanal en cliquant sur le bouton Parcourir qui se trouve à côté de l'option Canaux raster en entrée, ouvrez le raster et sélectionnez les canaux de votre choix.
- Si le raster multicanal est une couche dans la table des matières, vous pouvez utiliser l'outil Générer une couche raster pour créer une couche multicanal contenant uniquement les canaux souhaités.
- Vous pouvez également faire appel à l'option Canaux composites pour créer un jeu de données contenant uniquement les canaux souhaités et utiliser le jeu de données résultant en entrée dans l'outil.
- Dans Python, vous pouvez spécifier les canaux de votre choix sous forme de liste directement dans le paramètre de l'outil.
Syntaxe
Paramètre | Explication | Type de données |
in_raster_bands [in_raster_band,...] |
Canaux raster en entrée. | 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. L'extension du fichier en sortie est .txt ou .asc. | File |
Valeur renvoyée
Nom | Explication | Type de données |
out_multiband_raster |
Jeu de données d'un raster multicanal en sortie. Si la sortie est un raster Grid Esri, le nom doit comporter moins de 10 caractères. | Raster |
Exemple de code
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")
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"
# 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")