LinearUnmixing

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

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

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

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

Обсуждение

Для получения подробной информации о том, как функция работает, см. раздел о растровой функции Линейное спектральное расслоение.

Указанный набор растровых данных является временным для растрового объекта. Чтобы сделать его постоянным, вы можете вызвать метод растрового объекта save.

Синтаксис

LinearUnmixing (in_raster, in_spectral_profile_file, {value_option})
ПараметрОписаниеТип данных
in_raster

Входной растр.

Raster
in_spectral_profile_file

Путь к спекральному профилю разных классов земной поверхности.

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

String
value_option

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

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

Обе опции можно указан, разделив их точкой с запятой: "SUM_TO_ONE;NON_NEGATIVE".

String
Возвращаемое значение
Тип данныхОписание
Raster

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

Пример кода

Пример LinearUnmixing

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

from arcpy.ia import *
out_linearunmixing_raster = LinearUnmixing(
    "Landsat8.tif","C:/arcpyExamples/data/training_feature.ecd")
out_linearunmixing_raster.save(
    "C:/arcpyexamples/outputs/linearunmix_output.tif")
Пример LinearUnmixing

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

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Set the local variables
in_raster = "C:/data/Landsat_8.tif"
in_spectral_profile = "C:/data/training_features.ecd"
value_options = "SUM_TO_ONE;NON_NEGATIVE" 

# Apply LinearSpectralUnmixing function
unmixing_outputs = LinearUnmixing(in_raster, in_spectral_profile, value_options)

# Save the output
unmixing_outputs.save("C:/arcpyExamples/outputs/unmixing_results.tif")