Disponible avec une licence Image Analyst.
Disponible avec une licence Spatial Analyst.
Résumé
Effectue une classification inférieure au pixel et calcule l’abondance fractionnelle de différents types d’occupation du sol pour les pixels individuels.
Utilisation
Cet outil calcule la couverture fractionnelle pour des pixels contenant plusieurs types d’occupation du sol. Il génère un raster multicanal dans lequel chaque canal correspond à l’abondance fractionnelle d’une classe d’occupation du sol. Par exemple, vous pouvez l’utiliser pour procéder à la classification des occupations du sol sur une image multispectrale afin d’identifier la végétation photosynthétique, le sol nul, la végétation morte ou non photosynthétique.
L’ordre du raster multicanal en sortie reflète l’ordre du profil spectral en entrée.
Le nombre de classes ne doit pas dépasser le nombre de canaux du raster en entrée. Par exemple, vous ne pouvez pas extraire des informations sur plus de 8 classes à partir d’un raster à 8 canaux.
L’exemple suivant illustre un profil spectral fourni sous forme d’un fichier .json :
{ "EsriEndmemberDefinitionFile" : 0, "FileVersion" : 1, "NumberEndmembers" : 3, "NumberBands" : 7, "Endmembers" : [ { "EndmemberID" : 1, "EndmemberName" : "urban", "SpectralProfile" : [ 88, 42, 48, 38, 86, 115, 59 ] }, { "EndmemberID" : 2, "EndmemberName" : "vegetation", "SpectralProfile" : [ 50, 21, 20, 35, 50, 110, 23 ] }, { "EndmemberID" : 3, "EndmemberName" : "water", "SpectralProfile" : [ 51, 20, 14, 9, 7, 116, 4 ] } ] }
Les fichiers de définition de classificateur (.ecd) générés par l’outil Préparer le classificateur de vraisemblance maximale constituent pour l’instant la seule sortie de classificateur prise en charge.
Les entités surfaciques exigent les noms de champ suivants :
- classname : zone de texte indiquant le nom de la catégorie de classe
- classvalue : champ d’entier long contenant la valeur entière de chaque catégorie de classe
Lors du calcul de l’abondance fractionnelle de chaque classe d’occupation du sol, la solution peut inclure des fractions ou des coefficients négatifs. Si cela se produit, examinez les échantillons d’entraînement qui se trouvent dans le profil spectral en entrée pour s’assurer qu’ils représentent fidèlement chaque classe. S’ils sont corrects, sélectionnez Non-negative (Non négatif) pour Output Value Option (Option de valeur en sortie).
Syntaxe
LinearSpectralUnmixing(in_raster, in_spectral_profile_file, {value_option})
Paramètre | Explication | Type de données |
in_raster | Jeu de données raster en entrée. | Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service |
in_spectral_profile_file | Informations spectrales pour les différentes classes d’occupation du sol. Il peut être fourni sous forme d’entités surfaciques, d’un fichier de définition de classificateur (.ecd) généré via l’outil Préparer le classificateur de vraisemblance maximale ou d’un fichier JSON (.json) qui contient les profils spectraux de classe. | File; Feature Layer; String |
value_option [value_option,...] (Facultatif) | Indique comment les valeurs de pixel en sortie sont définies.
| String |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster | Jeu de données d'un raster multicanal en sortie. | Raster |
Exemple de code
Cet exemple calcule l’abondance fractionnelle des classes à partir d’un fichier de définition de classificateur (.ecd) et génère un raster multicanal.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
unmixing_outputs = LinearSpectralUnmixing("C:/data/landsat7_image.crf",
"C:/data/train_maxi_likelihood_ecd_output.ecd", "SUM_TO_ONE;NON_NEGATIVE")
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs.crf")
Cet exemple calcule l’abondance fractionnelle des classes à partir d’un fichier de définition de classificateur (.ecd) et génère un raster multicanal.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
inFile = "C:/data/landsat7_image.crf"
json_file = "C:/data/customized_endmembers.json"
options = "SUM_TO_ONE"
# Execute
unmixing_outputs = LinearSpectralUnmixing(inFile, json_file, options)
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs_using_json.crf")
Cet exemple calcule l’abondance fractionnelle des classes à partir d’une classe d’entités d’échantillon d’entraînement (.shp) et génère un raster multicanal.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
inFile = "C:/data/landsat7_image.crf"
training_features = "C:/data/training_features.shp"
options = "SUM_TO_ONE;NON_NEGATIVE"
# Execute
unmixing_outputs = LinearSpectralUnmixing(inFile, training_features, options)
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs_using_training_features.crf")
Environnements
Informations de licence
- Basic: Requiert Image Analyst or Spatial Analyst
- Standard: Requiert Image Analyst or Spatial Analyst
- Advanced: Requiert Image Analyst or Spatial Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?