Доступно с лицензией 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,...] (Дополнительный) | Определяет, как будут задаваться выходные значения пикселов.
| String |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_raster | Выходной многоканальный набор растровых данных. | Raster |
Пример кода
В этом примере вычисляется частичное содержание классов файла определения классификатора (.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")
В этом примере вычисляется частичное содержание классов файла определения классификатора (.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")
В этом примере вычисляется частичное содержание классов класса объектов обучающей выборки (.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")
Environments
Информация о лицензиях
- Basic: Требуется Дополнительный модуль Spatial Analyst или Image Analyst
- Standard: Требуется Дополнительный модуль Spatial Analyst или Image Analyst
- Advanced: Требуется Дополнительный модуль Spatial Analyst или Image Analyst