Résumé
Outil qui génère un fichier de définition de classificateur Esri (.ecd) à l'aide de la définition de classification de grappe Iso.
Cet outil effectue une classification non assistée.
Utilisation
Tout raster pris en charge par Esri est accepté en entrée, y compris les produits raster, les rasters segmentés, les mosaïques, les services d'imagerie ou les jeux de données raster génériques. Les rasters segmentés doivent être des rasters 8 bits à 3 canaux.
Le paramètre Attributs de segment est activé uniquement si l'une des entrées de la couche raster est une image segmentée.
Syntaxe
TrainIsoClusterClassifier (in_raster, max_classes, out_classifier_definition, {in_additional_raster}, {max_iterations}, {min_samples_per_cluster}, {skip_factor}, {used_attributes}, {max_merge_per_iter}, {max_merge_distance})
Paramètre | Explication | Type de données |
in_raster | Sélectionnez le jeu de données raster à classer. | Raster Layer; Mosaic Layer; Image Service; String |
max_classes | Nombre maximal de classes souhaitées pour regrouper les pixels ou segments. Il doit être supérieur au nombre de classes dans votre légende. Il est possible que vous obteniez moins de classes que le nombre spécifié pour ce paramètre. Si vous souhaitez en obtenir davantage, augmentez cette valeur et agrégez les classes une fois le processus d'apprentissage terminé. | Long |
out_classifier_definition | Fichier JSON qui contient des informations sur des attributs, des statistiques, des vecteurs d'hyperplan et d'autres informations nécessaires pour le classificateur. Un fichier portant l'extension .ecd est créé. | File |
in_additional_raster (Facultatif) | Ce paramètre permet notamment d'incorporer des jeux de données raster auxiliaires, à savoir une image multispectrale ou un MNT, par exemple, pour générer des attributs et d'autres informations requises pour la classification. | Raster Layer; Mosaic Layer; Image Service; String |
max_iterations (Facultatif) | Nombre maximal d'itérations pour le processus d'agrégation à exécuter. La plage recommandée est comprise entre 10 et 20 itérations. En augmentant cette valeur, vous allongez le temps de traitement de façon linéaire. | Long |
min_samples_per_cluster (Facultatif) | Nombre minimal de pixels ou segments dans une classe ou un agrégat valide. La valeur 20 par défaut est efficace pour créer des classes statistiquement significatives. Vous pouvez l'augmenter pour renforcer les classes, mais vous risquez ainsi de limiter le nombre global de classes créées. | Long |
skip_factor (Facultatif) | Nombre de pixels à ignorer pour une image de pixels en entrée. Si l'entrée est une image segmentée, spécifiez le nombre de segments à ignorer. | Long |
used_attributes [used_attributes;used_attributes,...] (Facultatif) | Permet de spécifier les attributs à inclure dans la table attributaire associée au raster en sortie.
Ce paramètre est activé uniquement si la propriété de clé segmentée est vraie (définie sur True) dans le raster en entrée. Si la seule entrée dans l'outil est une image segmentée, les attributs par défaut sont COLOR, COUNT, COMPACTNESS et RECTANGULARITY. Si un in_additional_raster est également inclus en entrée avec une image segmentée, les attributs MEAN et STD sont alors disponibles. | String |
max_merge_per_iter (Facultatif) | L'augmentation du nombre de fusions réduit le nombre de classes créées. Une valeur plus faible génère un plus grand nombre de classes. | Long |
max_merge_distance (Facultatif) | L'augmentation de la distance permet de fusionner davantage de grappes, ce qui se traduit par une diminution du nombre de classes. Une valeur plus faible génère un plus grand nombre de classes. Il s'agit de la distance entre les centres des agrégats dans l'espace d'entités. Même si vous pouvez lui appliquer une valeur quelconque, celles qui sont comprises entre 0 et 5 produisent les meilleurs résultats. | Double |
Exemple de code
Exemple 1 d'utilisation de l'outil TrainIsoClusterClassifier (fenêtre Python)
Le script de fenêtre Python ci-dessous utilise le classificateur d'agrégats ISO pour créer un fichier de définition de classification Esri non assistée avec dix classes au maximum.
import arcpy
from arcpy.sa import *
TrainIsoClusterClassifier("c:/test/moncton_seg.tif", "10",
"c:/output/moncton_sig_iso.ecd","c:/test/moncton.tif",
"5", "10", "2", "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
Exemple 2 d'utilisation de l'outil TrainIsoClusterClassifier (script autonome)
Cet exemple de script utilise le classificateur d'agrégats ISO pour créer un fichier de définition de classification Esri non assistée avec dix classes au maximum.
# Import system modules
import arcpy
from arcpy.sa import *
# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
maxNumClasses = "10"
out_definition = "c:/output/moncton_sig_iso.ecd"
in_additional_raster = "moncton.tif"
maxIteration = "20"
minNumSamples = "10"
skipFactor = "5"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
TrainIsoClusterClassifier(inSegRaster, maxNumClasses, out_definition,
in_additional_raster, maxIteration,
minNumSamples, skipFactor, attributes)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert Spatial Analyst
- ArcGIS Desktop Standard: Requiert Spatial Analyst
- ArcGIS Desktop Advanced: Requiert Spatial Analyst