Disponible avec une licence Spatial Analyst.
Résumé
Met à jour un fichier de signatures en combinant, renumérotant et en supprimant les signatures de la classe.
Utilisation
L'outil Modifier des signatures permet de modifier un fichier de signatures, comme suit :
- Combinaison des signatures d'un ensemble de classes
- Renumérotation d'un identifiant de la classe de la signature
- Suppression de signatures inutiles
Le fichier de signatures en entrée doit être un fichier au format ASCII. Ce fichier peut être le résultat que vous obtenez après avoir utilisé un outil Multivariés lorsque vous disposez des informations appropriées. Par exemple : Iso Cluster et Créer des signatures. Ce fichier doit avoir un minimum de deux classes. Ce type de fichier se reconnaît à son extension .gsg.
Le fichier de reclassement de signatures en entrée est un fichier ASCII composé de deux colonnes de valeurs par ligne, séparées par le signe deux points. La première colonne contient la valeur de l'ID de classe initial. La seconde colonne contient les nouveaux identifiants de classe à mettre à jour dans le fichier de signatures. Toutes les entrées figurant dans le fichier doivent être triées dans l'ordre croissant en fonction de la première colonne.
Dans certains cas, certaines des classes que vous souhaitez peuvent être trop similaires les unes des autres statistiquement et l’affectation des cellules à des classes uniques peut ne pas s’avérer fiable. Par exemple, vous pouvez vouloir une classe de marécage et une classe distincte pour les marécages en forêt. Il est néanmoins difficile de distinguer ces deux classes. Dans ce cas, vous pouvez combiner la classe de marécage de forêt dans la classe de marécage plus générale. S'il n’existe aucune différence statistique entre les classes, vous pouvez en supprimer une complètement puisqu’elles représentent toutes deux essentiellement la même classe.
Pour combiner un ensemble de classes, spécifiez le même identifiant de classe nouvelle comme deuxième valeur pour chaque identifiant de classe de cet ensemble. Un fichier de reclassement de signatures ne doit contenir que les classes que vous comptez modifier. Les classes qui ne figurent pas dans ce fichier ne sont pas modifiées. Pour supprimer une signature de classe, utilisez -9999 comme valeur pour la seconde colonne de cette classe. Vous pouvez également renuméroter un ID de classe en lui attribuant une valeur qui n'existe pas dans le fichier de signatures en entrée.
Voici un exemple de fichier de reclassement de signatures en entrée :
2 : 3 4 : 11 5 : -9999 9 : 3
Dans cet exemple, nous combinons les classes 2 et 9 avec la classe 3, la classe 4 avec la classe 11 et nous supprimons la classe 5.
Si le fichier de signatures en entrée désigne les noms des signatures de classes et que vous souhaitez combiner les signatures dans le fichier de classification en entrée, le nom associé à la valeur qui permet d'effectuer cette opération doit figurer dans le fichier de signatures en sortie.
Si l'entrée est une couche créée à partir d'un raster multicanal comportant plus de trois canaux, l'opération prend en compte 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 en regard de Canaux raster en entrée, ouvrez le raster, puis sélectionnez les canaux souhaités.
- 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.
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.
Syntaxe
EditSignatures (in_raster_bands, in_signature_file, in_signature_remap_file, out_signature_file, {sample_interval})
Paramètre | Explication | Type de données |
in_raster_bands [in_raster_band,...] | Canaux raster en entrée dont vous devez modifier les signatures. Ils peuvent être de type entier ou à virgule flottante. | Raster Layer |
in_signature_file | Fichier de signatures en entrée dans lequel vous pouvez modifier les signatures de classes. L'extension .gsg est obligatoire. | File |
in_signature_remap_file | Table de classification ASCII contenant les identifiants de classe à combiner, renuméroter ou supprimer. L’extension peut être .rmp, .asc ou .txt. La valeur par défaut est .rmp. | File |
out_signature_file | Fichier de signatures en sortie. Une extension .gsg doit être spécifiée. | File |
sample_interval (Facultatif) | Intervalle à utiliser pour l'échantillonnage. La valeur par défaut est 10. | Long |
Exemple de code
Premier exemple d'utilisation de l'outil EditSignatures (fenêtre Python)
Cet exemple décrit la modification d'un fichier de signatures selon le fichier de classification en entrée.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
EditSignatures("redl123", "c:/sapyexamples/data/zsamp12.gsg",
"c:/sapyexamples/data/zsamp7.rmp",
"c:/sapyexamples/output/redlremap.gsg", "")
Deuxième exemple d'utilisation de l'outil EditSignatures (script autonome)
Cet exemple décrit la modification d'un fichier de signatures selon le fichier de classification en entrée.
# Name: EditSignatures_Ex_02.py
# Description: Edits and updates a signature file by merging, renumbering,
# and deleting class signatures.
# 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"
oldSig = "c:/sapyexamples/data/zsamp12.gsg"
sigRemap = "c:/sapyexamples/data/zsamp7.rmp"
outNewSig = "c:/sapyexamples/output/redlsig.gsg"
interval = ""
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute EditSignatures
EditSignatures(inRaster, oldSig, sigRemap, outNewSig, interval)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert Spatial Analyst
- ArcGIS Desktop Standard: Requiert Spatial Analyst
- ArcGIS Desktop Advanced: Requiert Spatial Analyst