Disponible avec une licence Spatial Analyst.
Résumé
Effectue une classification non assistée sur une série de canaux raster en entrée à l'aide des outils Iso cluster et Classification de vraisemblance maximale.
En savoir plus sur le fonctionnement de l'outil Classification interactive assistée
Utilisation
Cet outil associe les fonctionnalités des outils Iso cluster et Classification de vraisemblance maximale. Il génère un raster classé. Il peut également générer un fichier de signatures.
Le fichier de signatures produit par cet outil peut être utilisé en tant qu'entrée pour un autre outil de classification, tel que l'outil Classification de vraisemblance maximale, pour permettre un meilleur contrôle des paramètres de classification.
La valeur valide minimale pour le nombre de classes est deux. Il n'existe pas de nombre maximal d'agrégats. En général, plus d'agrégats nécessitent plus d'itérations.
Pour fournir les statistiques suffisantes nécessaires pour générer un fichier de signatures pour une classification future, chaque agrégat doit contenir assez de cellules pour représenter avec précision l'agrégat. La valeur entrée comme taille de classe minimale doit être approximativement 10 fois plus grande que le nombre de couches dans les canaux raster en entrée.
La valeur entrée comme intervalle d'échantillonnage indique qu'une cellule par bloc de n x n cellules est utilisée dans les calculs d'agrégation.
Vous ne devez pas combiner ni supprimer de classes, ni modifier aucune des statistiques du fichier de signatures ASCII.
En général, plus le nombre de cellules contenues dans l'étendue de l'intersection des canaux en entrée est important et plus grandes doivent être les valeurs de la taille de classe minimale et de l'intervalle d'échantillonnage qui sont spécifiées. Les valeurs entrées pour l'intervalle d'échantillonnage doivent être assez petites pour que les plus petites catégories souhaitables existant dans les données en entrée soient échantillonnées convenablement.
Les valeurs d'ID de classe sur le fichier de signatures en sortie commencent à 1 et augmentent séquentiellement jusqu'au nombre de classes en entrée. L'attribution des numéros de classes est arbitraire.
Le nom du fichier de signatures en sortie doit avoir une extension .gsg.
Vous obtiendrez de meilleurs résultats si tous les canaux en entrée ont les mêmes plages de données. Si les canaux ont des plages de données très différentes, celles-ci peuvent être transformées en plage identique en utilisant l'algèbre spatial pour effectuer l'équation.
where: Z is the output raster with new data ranges. X is the input raster. oldmin is the minimum value of the input raster. oldmax is the maximum value of the input raster. newmin is the desired minimum value for the output raster. newmax is the desired maximum value for the output raster.
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
IsoClusterUnsupervisedClassification (Input_raster_bands, Number_of_classes, {Minimum_class_size}, {Sample_interval}, {Output_signature_file})
Paramètre | Explication | Type de données |
Input_raster_bands [in_raster_band,...] | Canaux raster en entrée. Ils peuvent être de type entier ou à virgule flottante. | Raster Layer; Mosaic Layer |
Number_of_classes number_of_classes | Nombre de classes dans lesquelles les cellules sont regroupées. | Long |
Minimum_class_size minimum_class_size (Facultatif) | Nombre minimal de cellules dans une classe valide. La valeur par défaut est 20. | Long |
Sample_interval sample_interval (Facultatif) | Intervalle à utiliser pour l'échantillonnage. La valeur par défaut est 10. | Long |
Output_signature_file out_signature_file (Facultatif) | Fichier de signatures en sortie. Une extension .gsg doit être spécifiée. | File |
Valeur renvoyée
Nom | Explication | Type de données |
Output_classified_raster | Raster classé en sortie. | Raster |
Exemple de code
1er exemple d'utilisation de l'outil IsoClusterUnsupervisedClassification (fenêtre Python)
Cet exemple effectue une classification non assistée des canaux en entrée en 5 classes et génère un raster classé.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outUnsupervised = IsoClusterUnsupervisedClassification("redlands", 5, 20, 50)
outUnsupervised.save("c:/temp/unsup01")
2er exemple d'utilisation de l'outil IsoClusterUnsupervisedClassification (script autonome)
Cet exemple effectue une classification non assistée des canaux en entrée en 5 classes et génère un raster classé.
# Name: IsoClusterUnsupervisedClassification_Ex_02.py
# Description: Uses an isodata clustering algorithm to determine the
# characteristics of the natural groupings of cells in multidimensional
# attribute space and stores the results in an output ASCII 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 = "redlands"
classes = 5
minMembers = 50
sampInterval = 15
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute IsoCluster
outUnsupervised = IsoClusterUnsupervisedClassification(inRaster, classes, minMembers, sampInterval)
outUnsupervised.save("c:/temp/outunsup01.tif")
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert Spatial Analyst
- ArcGIS Desktop Standard: Requiert Spatial Analyst
- ArcGIS Desktop Advanced: Requiert Spatial Analyst