Линейное спектральное несмешивание (Spatial Analyst)

Доступно с лицензией Image Analyst.

Доступно с лицензией Spatial Analyst.

Краткая информация

Выполняет субпиксельную классификацию и вычисляет относительную распространенность различных типов почвенно-растительного покрова для отдельных пикселов.

Иллюстрация инструмента Линейное спектральное несмешивание

Использование

  • Этот инструмент вычисляет частичный материал для отдельных пикселов, которые содержат несколько материалов. Он генерирует многоканальный растр, в котором каждый канал соответствует частичному содержанию каждого класса почвенно-растительного покрова. Например, вы можете использовать его для классификации почвенно-растительного покрова на мультиспектральном снимке, чтобы идентифицировать зеленую растительность, открытый почвенный покров и мертвую растительность, т.е. растительность, в которой не происходит фотосинтез.

  • Этот инструмент поддерживает несколько форм входных спектральных данных, таких как спектральная библиотека Esri (.esl) или формат спектральной библиотеки ENVI (.sli).

  • Инструмент поддерживает устаревшую форму входных спектров JSON. Ниже приведен пример спектрального файла в виде файла .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
              ]
        }
      ]        
    }
  • Файлы определения классификатора (.ecd), созданные с помощью инструмента Обучить классификатор по методу максимального правдоподобия, являются единственными выходными данными классификатора, поддерживаемыми в настоящее время.

  • Для полигональных объектов требуются следующие имена полей:

    • classname– Текстовое поле с указанием названия категории класса.
    • classvalue— Длинное целочисленное поле, в котором хранится целое значение для каждой категории класса
  • При расчете частичного содержания каждого класса наземного покрова решение может содержать отрицательные коэффициенты или дроби. В этом случае просмотрите обучающие образцы в вашем входном спектральном профиле, чтобы убедиться, что они точно представляют каждый класс. Если они корректны, укажите Неотрицательный для Опции выходного значения.

  • Количество каналов во входном изображении и входных спектральных данных должно совпадать, если входные спектральные данные являются файлом .ecd, классом объектов обучающей выборки или файлом .json.

  • Если входные спектры взяты из файла спектральной библиотеки (.esl или .sli), то будет применен спектральный пересчет с использованием метода усреднения каналов, если количество каналов не совпадает. При необходимости вы можете изменить разрешение спектров с помощью инструмента Изменить разрешение библиотечных спектров.

  • Если спектральные данные взяты из спектральной библиотеки, в которой значения отражения находятся в диапазоне от 0 до 1, например, из спектральной библиотеки USGS, то входной растр отражательной способности поверхности также должен содержать значения от 0 до 1.

  • Если входное изображение не находится в диапазоне 0-1, например 8 или 16 бит, рекомендуется собрать спектральную сигнатуру материала из изображения с помощью инструмента Спектральный вьюер. Дополнительно, отметьте Удалить континуум, чтобы нормализовать значения пикселов и данные входной библиотеки спектров.

  • Если опция Удалить континуум включена, выпуклая оболочка устанавливается поверх спектра с использованием прямолинейных сегментов, соединяющих локальные максимумы спектра. Континуум будет удален путем деления его на фактический спектр для каждого пикселя изображения и входные спектры. Это позволяет сравнивать характеристики абсорбции с общей линией базиса.

Параметры

ПодписьОписаниеТип данных
Входной растр

Входной набор растровых данных отражающей способности поверхности.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service
Файл спектра или обучающие объекты

Спектральная информация для разных классов почвенно-растительного покрова.

Файл может быть любым из следующих:

File; Feature Layer; String
Опции выходного значения
(Дополнительный)

Определяет, как будут задаваться выходные значения пикселов.

  • Сумма равна единицеЗначения класса для каждого пиксела будут заданы в десятичном формате, причем сумма всех классов будет равна единице. Например: Class1 = 0.16; Class2 = 0.24; Class3 = 0.60.
  • НеотрицательныеНе должно быть отрицательных выходных значений.
String
Удалить континуум
(Дополнительный)

Указывает, будут ли спектры нормализованы на основе изображения или базовых данных.

  • Отмечено — спектры будут нормализованы на основе изображения или базовых данных.
  • Не отмечено — спектры не будут нормализованы на основе изображения или базовых данных. Это значение по умолчанию

Указывает, будут ли спектры нормализованы на основе изображения или базовых данных.

  • REMOVE_CONTINUUMСпектры будут нормализованы на основе изображения или базовых данных.
  • NO_REMOVE_CONTINUUMСпектры не будут нормализованы на основе изображения или базовых данных. Это значение по умолчанию
Boolean

Возвращаемое значение

ПодписьОписаниеТип данных
Выходной растр

Выходной многоканальный набор растровых данных.

Raster

LinearSpectralUnmixing(in_raster, in_spectral_profile_file, {value_option}, {remove_continuum})
ИмяОписаниеТип данных
in_raster

Входной набор растровых данных отражающей способности поверхности.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service
in_spectral_profile_file

Спектральная информация для разных классов почвенно-растительного покрова.

Файл может быть любым из следующих:

File; Feature Layer; String
value_option
[value_option,...]
(Дополнительный)

Определяет, как будут задаваться выходные значения пикселов.

  • SUM_TO_ONEЗначения класса для каждого пиксела будут заданы в десятичном формате, причем сумма всех классов будет равна единице. Например: Class1 = 0.16; Class2 = 0.24; Class3 = 0.60.
  • NON_NEGATIVEНе должно быть отрицательных выходных значений.
String
remove_continuum
(Дополнительный)

Указывает, будут ли спектры нормализованы на основе изображения или базовых данных.

  • Отмечено — спектры будут нормализованы на основе изображения или базовых данных.
  • Не отмечено — спектры не будут нормализованы на основе изображения или базовых данных. Это значение по умолчанию

Указывает, будут ли спектры нормализованы на основе изображения или базовых данных.

  • REMOVE_CONTINUUMСпектры будут нормализованы на основе изображения или базовых данных.
  • NO_REMOVE_CONTINUUMСпектры не будут нормализованы на основе изображения или базовых данных. Это значение по умолчанию
Boolean

Возвращаемое значение

ИмяОписаниеТип данных
out_raster

Выходной многоканальный набор растровых данных.

Raster

Пример кода

LinearSpectralUnmixing, пример 1 (окно Python)

В этом примере вычисляется частичное содержание классов файла определения классификатора (.ecd) и создается многоканальный растр.

# 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")
LinearSpectralUnmixing, пример 2 (автономный скрипт)

В этом примере вычисляется частичное содержание классов файла определения классификатора (.ecd) и создается многоканальный растр.

# 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")
LinearSpectralUnmixing, пример 3 (автономный скрипт)

В этом примере вычисляется частичное содержание классов класса объектов обучающей выборки (.ecd) и создается многоканальный растр.

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

Информация о лицензиях

  • Basic: Обязательно Spatial Analyst или Image Analyst
  • Standard: Обязательно Spatial Analyst или Image Analyst
  • Advanced: Обязательно Spatial Analyst или Image Analyst

Связанные разделы