Disponible con licencia de Image Analyst.
Disponible con una licencia de Spatial Analyst.
Resumen
Realiza la clasificación por subpíxeles y calcula la abundancia fraccionaria de los diferentes tipos de cobertura de suelo de los píxeles individuales.
Uso
Esta herramienta calcula la cobertura fraccional de píxeles individuales que contienen varios tipos de cobertura de suelo. Genera un ráster multibanda en el que cada banda corresponde a la abundancia fraccional de cada clase de cobertura de suelo. Por ejemplo, puede utilizarla para realizar la clasificación de la cobertura de suelo en una imagen multiespectral para identificar la vegetación fotosintética, el suelo desnudo y vegetación muerta o no fotosintética.
El orden del ráster multibanda de salida sigue el orden del perfil espectral de entrada.
El número de clases no puede ser mayor que el número de bandas del ráster de entrada. Por ejemplo, no puede extraer información sobre más de 8 clases de un ráster de 8 bandas.
A continuación, se muestra un ejemplo de un perfil espectral proporcionado como un archivo .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 ] } ] }
Los archivos de definición de clasificador (.ecd) generados a partir de la herramienta Preparar clasificador de máxima verosimilitud son, en estos momentos, la única salida de clasificador admitida.
Las entidades poligonales requieren los siguientes nombres de campo:
- classname: un campo de texto que indique el nombre de la categoría de clase
- classvalue: un campo de tipo entero largo que contenga el valor entero para cada categoría de clase
Al calcular la abundancia fraccional de cada clase de cobertura de suelo, la solución puede contener coeficientes o fracciones negativas. Si esto sucede, revise las muestras de entrenamiento de su perfil espectral de entrada para comprobar que representen adecuadamente cada clase. Si parecen correctas, seleccione No negativo en Opción de valor de salida.
Sintaxis
LinearSpectralUnmixing(in_raster, in_spectral_profile_file, {value_option})
Parámetro | Explicación | Tipo de datos |
in_raster | El dataset ráster de entrada. | Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service |
in_spectral_profile_file | La información espectral de las diferentes clases de cobertura de suelo. Se puede proporcionar como entidades poligonales, un archivo de definición de clasificador (.ecd) generado a partir de la herramienta Preparar clasificador de máxima verosimilitud o un archivo JSON (.json) que contenga los perfiles de clase espectrales. | File; Feature Layer; String |
value_option [value_option,...] (Opcional) | Especifica cómo se definirán los valores de píxel de salida.
| String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster | El dataset ráster multibanda de salida. | Raster |
Muestra de código
Este ejemplo calcula la abundancia fraccional de las clases de un archivo de definición de clasificador (.ecd) y genera un ráster multibanda.
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")
# 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")
Este ejemplo calcula la abundancia fraccional de las clases de un archivo de definición de clasificador (.ecd) y genera un ráster multibanda.
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")
# 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")
Este ejemplo calcula la abundancia fraccional de las clases de una clase de entidad de muestra de entrenamiento (.ecd) y genera un ráster multibanda.
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")
# 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")
Entornos
Información de licenciamiento
- Basic: Requiere Spatial Analyst o Image Analyst
- Standard: Requiere Spatial Analyst o Image Analyst
- Advanced: Requiere Spatial Analyst o Image Analyst