Espectral lineal sin mezclas (Spatial Analyst)

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.

Espectral lineal sin mezclas

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.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de entrada

El dataset ráster de entrada.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service
Entidades de entrenamiento o perfil espectral de entrada

La información espectral de las diferentes clases de cobertura de suelo.

Se puede proporcionar como entidades poligonales, una clase de entidad de muestra de entrenamiento generada a partir del Administrador de muestras de entrenamiento, 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
Opción de valor de salida
(Opcional)

Especifica cómo se definirán los valores de píxel de salida.

  • Sumar unoSe proporcionarán valores de clase para cada píxel en formato decimal, con la suma de todas las clases equivalente a 1. Por ejemplo, Class1 = 0,16; Class2 = 0,24; Class3 = 0,60.
  • No negativoNo habrá valores de salida negativos.
String

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de salida

El dataset ráster multibanda de salida.

Raster

LinearSpectralUnmixing(in_raster, in_spectral_profile_file, {value_option})
NombreExplicaciónTipo 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.

  • SUM_TO_ONESe proporcionarán valores de clase para cada píxel en formato decimal, con la suma de todas las clases equivalente a 1. Por ejemplo, Class1 = 0,16; Class2 = 0,24; Class3 = 0,60.
  • NON_NEGATIVENo habrá valores de salida negativos.
String

Valor de retorno

NombreExplicaciónTipo de datos
out_raster

El dataset ráster multibanda de salida.

Raster

Muestra de código

Ejemplo 1 de LinearSpectralUnmixing (ventana de Python)

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")
Ejemplo 2 de LinearSpectralUnmixing (script independiente)

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")
Ejemplo 3 de LinearSpectralUnmixing (script independiente)

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")

Temas relacionados