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.

Ilustración de la herramienta espectral lineal sin mezclas

Uso

  • Esta herramienta calcula el material fraccional para píxeles individuales que contienen múltiples materiales. 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.

  • Esta herramienta admite varios formatos de entrada de datos espectrales, como la biblioteca espectral de Esri (.esl) o el formato de biblioteca espectral de ENVI (.sli).

  • La herramienta admite una forma heredada de la entrada de espectros JSON. A continuación, se muestra un ejemplo de un archivo espectral proporcionado como un archivo .json:

    
    {
      "EsriEndmemberDefinitionFile" : 0,
      "FileVersion" : 1,
      "NumberOfEndmembers" : 3,
      "NumberOfBands" : 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 del perfil espectral de entrada para comprobar que representen adecuadamente cada clase. Si parecen correctas, especifique No negativo en Opción de valor de salida.

  • El número de bandas de la imagen de entrada y los datos espectrales de entrada deben coincidir si la entrada espectral es un archivo .ecd, una clase de entidad de muestras de entrenamiento o un archivo .json.

  • Si el espectro de entrada procede de un archivo de biblioteca espectral (.esl o .sli), se aplicará remuestreo espectral mediante un método de promedio de bandas si el número de bandas no coincide. Si lo desea, puede remuestrear espectros utilizando la herramienta Volver a muestrear espectros de biblioteca.

  • Si los datos espectrales proceden de una biblioteca espectral cuyos valores de reflectancia se sitúan entre 0 y 1, como por ejemplo la biblioteca espectral de USGS, el ráster de reflectancia de la superficie de entrada debe contener también valores entre 0 y 1.

  • Si la imagen de entrada no se encuentra entre 0 y 1, como en el caso de 8 bits o 16 bits, se recomienda recopilar la firma espectral del material a partir de la imagen mediante la herramienta Visor espectral. Si lo desea, marque la casilla Eliminar continuidad para normalizar los valores de píxeles y los datos de la biblioteca de espectros de entrada.

  • Cuando la casilla de verificación Eliminar continuidad está activada, se ajusta una envoltura convexa sobre la parte superior de un espectro utilizando segmentos de línea recta que conectan los máximos de los espectros locales. La continuidad se eliminará dividiéndola en el espectro real de cada píxel en la imagen y los espectros de entrada. Esto permite comparar las entidades de absorción a partir de una línea base común.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de entrada

El dataset ráster de reflectancia de la superficie de entrada.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service
Características del archivo Spectra o de entrenamiento

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

El archivo puede ser cualquiera de los siguientes:

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
Eliminar continuidad
(Opcional)

Especifica si los espectros se normalizarán a partir de una imagen o de datos de referencia

  • Activado: los espectros se normalizarán a partir de una imagen o datos de referencia.
  • Desactivado: los espectros no se normalizarán a partir de una imagen o datos de referencia. Esta es la opción predeterminada.

Especifica si los espectros se normalizarán a partir de una imagen o de datos de referencia

  • REMOVE_CONTINUUMLos espectros se normalizarán a partir de una imagen o datos de referencia.
  • NO_REMOVE_CONTINUUMLos espectros no se normalizarán a partir de una imagen o datos de referencia. Esta es la opción predeterminada.
Boolean

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}, {remove_continuum})
NombreExplicaciónTipo de datos
in_raster

El dataset ráster de reflectancia de la superficie 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.

El archivo puede ser cualquiera de los siguientes:

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
remove_continuum
(Opcional)

Especifica si los espectros se normalizarán a partir de una imagen o de datos de referencia

  • Activado: los espectros se normalizarán a partir de una imagen o datos de referencia.
  • Desactivado: los espectros no se normalizarán a partir de una imagen o datos de referencia. Esta es la opción predeterminada.

Especifica si los espectros se normalizarán a partir de una imagen o de datos de referencia

  • REMOVE_CONTINUUMLos espectros se normalizarán a partir de una imagen o datos de referencia.
  • NO_REMOVE_CONTINUUMLos espectros no se normalizarán a partir de una imagen o datos de referencia. Esta es la opción predeterminada.
Boolean

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

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

Temas relacionados