Probabilité de classe (Spatial Analyst)
Récapitulatif
Crée un raster multicanal de canaux de probabilité, avec un canal qui est créé pour chaque classe représentée dans le fichier de signatures en entrée.
Pour plus d'informations sur le fonctionnement de l'outil Probabilité de classe
Utilisation
-
Tout fichier de signatures créé par l'outil Créer des signatures, Modifier des signatures ou Iso cluster est une entrée valide pour le fichier de signatures en entrée. Il aura l'extension .gsg.
-
Cet outil emploie des statistiques bayésiennes pour estimer les probabilités de classe. Les statistiques bayésiennes impliquent de commencer avec des informations antérieures sur les données, puis de mettre à jour ces informations une fois les données rassemblées. Les informations antérieures sur les valeurs des données sont quantifiées avec des probabilités a priori, qui sont ensuite ajustées par la fonction de vraisemblance pour recevoir des probabilités postérieures (informations mises à jour). La fonction de vraisemblance est définie par les valeurs des données pour chaque classe/agrégat.
Le fichier de probabilités a priori en entrée doit être un fichier ASCII qui comprend deux colonnes. Les valeurs dans la colonne de gauche représentent des identifiants de classe. Les valeurs dans la colonne de droite correspondent aux probabilités a priori relatives aux classes concernées. Les valeurs autorisées pour les probabilités a priori doivent être supérieures ou égales à zéro. Si vous indiquez une probabilité nulle, vous ne pouvez pas créer un canal pour la classe dans le raster multicanal en sortie. La somme des probabilités a priori spécifiées doit être inférieure ou égale à un. Exemple illustrant le format du fichier comme suit :
1 .3 2 .1 4 .0 5 .15 7 .05 8 .2
Les classes omises dans le fichier recevront la probabilité a priori moyenne de la portion restante de la valeur d'un. Dans l'exemple ci-dessus, toutes les classes de 1 à 8 sont représentées dans le fichier de signatures. Les probabilités a priori associées aux classes 3 et 6 n'apparaissent pas dans le fichier de probabilités a priori en entrée. Puisque la somme de toutes les probabilités indiquées dans le fichier ci-dessus est égale à 0,8, la fraction de probabilité qui reste (0,2) est divisée par le nombre de classes qui n'est pas indiqué (2). Vous allez donc attribuer une probabilité de 0,1 aux classes 3 et 6.
Vous pouvez attribuer l'extension .txt ou .asc au fichier de probabilités a priori en entrée.
-
La valeur que vous attribuez en guise de valeur en sortie maximale régit la plage supérieure de valeurs dans les canaux de probabilité en sortie. Si vous employez la valeur 100 par défaut, vous pouvez créer un raster multicanal. Chaque canal contient un entier compris entre 0 et 100. Tout entier supérieur à zéro est autorisé pour calculer la valeur en sortie maximale. Seule la valeur de l'un des arguments de valeur en sortie maximal permet d'obtenir des canaux dotés de valeurs à virgule flottante.
-
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. Les canaux raster peuvent être des nombres entiers ou à virgule flottante. | Raster Layer |
in_signature_file |
Fichier de signatures en entrée dont les signatures de classe permettent de générer les canaux de probabilités a priori. Une extension .gsg est requise. | File |
maximum_output_value (Facultatif) |
Facteur permettant la mise à l'échelle des valeurs dans les canaux de probabilités en sortie. Par défaut, les valeurs sont comprises entre 0 et 100. | Long |
a_priori_probabilities (Facultatif) | Indique la manière dont sont déterminées les probabilités a priori.
| String |
in_a_priori_file (Facultatif) | Fichier texte contenant des probabilités a priori pour les classes de signatures en entrée. Une entrée pour le fichier de probabilités a priori n'est requise que lorsque l'option FILE est utilisée. L'extension du fichier a priori peut être .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 une Grid Esri, le nom de fichier ne peut pas avoir plus de 9 caractères. | Raster |
Exemple de code
Cet exemple décrit un raster multicanal de canaux de probabilité pour chaque classe dans un fichier de signatures.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outClassProbability = ClassProbability("redlands","C:/sapyexamples/data/wedit5.gsg",
100,"EQUAL","")
outClassProbability.save("c:/sapyexamples/output/classprob")
Cet exemple décrit un raster multicanal de canaux de probabilité pour chaque classe dans un fichier de signatures.
# Name: ClassProbability_Ex_02.py
# Description: Creates probability layers for each class in a signature file.
# 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
inRaster = "redl123"
inSigFile = "c:/sapyexamples/data/wedit5.gsg"
maxValue = 100
aPrioriWeight = "EQUAL"
aPrioriFile = ""
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ClassProbability
outClassProbability = ClassProbability(inRaster,inSigFile,
maxValue, aPrioriWeight, aPrioriFile)
# Save the output
outClassProbability.save("c:/sapyexamples/output/classprob01")