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

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

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

Сводка

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

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

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

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

  • Порядок в выходном многоканальном растре соответствует порядку входного спектрального профиля.

  • Число классов не может превышать количество каналов входного растра. Например, вы не можете извлечь из восьмиканального растра информации больше, чем о 8 классах.

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

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

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

Синтаксис

LinearSpectralUnmixing(in_raster, in_spectral_profile_file, {value_option})
ParameterОбъяснениеТип данных
in_raster

Входной набор растровых данных.

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

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

Она может быть представлена в виде полигональных объектов, файла определения классификатора (.ecd), сгенерированного инструментом Обучить классификатор по методу максимального правдоподобия или файла JSON ((.json), который содержит спектральные профили класса.

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

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

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

Значение отраженного сигнала

NameОбъяснениеТип данных
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

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