Доступно с лицензией Spatial Analyst.
Краткая информация
Выполняет классификацию по методу максимального подобия для набора каналов растра и создаёт классифицированный растр в качестве выходных данных.
Более подробно о том, как работает Классификация по методу максимального подобия
Использование
Если многоканальный растр указан как один из входных для параметра Входные каналы растра (in_raster_bands в Python), будут обработаны все каналы.
Чтобы обработать выбранные каналы многоканального растра, сначала создайте новый набор растровых данных, состоящий только из необходимых каналов, с помощью инструмента Объединить каналы, затем укажите полученный набор как Входной растр (in_raster_bands в Python).
Любой файл сигнатур, созданный с помощью инструментов Создать сигнатуры, Редактировать сигнатуры или Изокластер, является действительным для использования в качестве входного файла сигнатур. Такой файл будет иметь расширение .gsg.
По умолчанию, на выходном растре будут классифицированы все ячейки, при этом к сигнатурам каждого из классов будут присоединены равные веса вероятностей.
Входной файл априорных вероятностей должен представлять собой ASCII-файл, состоящий из двух столбцов. Значения в левом столбце представляют идентификаторы классов (ID). Значения в правом столбце представляют априорные вероятности для соответствующих классов. Действительные значения априорных вероятностей для классов должны быть больше или равны нулю. Если в качестве вероятности задан ноль, класс не будет отображаться на выходном растре. Сумма заданных априорных вероятностей должна быть меньше или равна единице. Формат файла следующий:
1 .3 2 .1 4 .0 5 .15 7 .05 8 .2
Классы, пропущенные в файле, получат среднюю априорную вероятность той части, которая останется от единицы. В примере выше, все классы с 1 по 8 представлены в файле сигнатур. Априорные вероятности классов 3 и 6 отсутствуют во входном файле априорной вероятности. Так как сумма всех вероятностей, определенных в файле выше, равна 0,8, остаток (0,2) делится на число не определенных классов (2). Следовательно, классам 3 и 6 будет присвоена вероятность, равная 0,1, каждому.
Заданная доля отклонения, которая лежит между двумя действительными значениями, будет присвоена следующему верхнему действительному значению. Например, значение 0,02 будет преобразовано в значение 0,025.
Существует прямая зависимость между числом неклассифицированных ячеек на выходном растре, вытекающем из доли отклонения, и числом ячеек, представленных суммой уровней доверия, меньших, чем соответствующее значение, введенное для доли отклонения.
Если имя класса в файле подписи отличается от идентификатора класса, в таблицу атрибутов выходного растра будет добавлено дополнительное поле CLASSNAME. Для каждого класса в этом поле выходной таблицы будет содержаться имя класса, связанное с этим классом. Например, если имена классов файла подписи имеют описательные строковые имена (например, хвойные деревья, вода и город), они будут перенесены в поле CLASSNAME.
Расширение входного файла априорных вероятностей – .txt.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
MLClassify(in_raster_bands, in_signature_file, {reject_fraction}, {a_priori_probabilities}, {in_a_priori_file}, {out_confidence_raster})
Параметр | Объяснение | Тип данных |
in_raster_bands [in_raster_band,...] | Входные каналы растров. Если значения каналов являются целочисленными или числами с плавающей точкой, то файл сигнатур допускает лишь целочисленные значения классов. | Raster Layer |
in_signature_file | Входной файл сигнатур, сигнатуры классов которого используются алгоритмом классификации по методу максимального подобия. Требуется расширение .gsg. | File |
reject_fraction (Дополнительный) | Это значение определяет, будет ли класс ячейки определяться исходя из вероятности того, насколько правильно она будет отнесена к одному из классов. Ячейки, вероятность правильного отнесения которых к любому из классов ниже, чем доля отклонения, получат значение NoData в выходном классифицированном растре. Ячейки, вероятность правильного отнесения которых к любому из классов ниже, чем доля отклонения, будут иметь значение NoData в выходном классифицированном растре. Значение по умолчанию равно 0.0, означающее, что классифицированы будут все ячейки. Допустимыми типами данных являются
| String |
a_priori_probabilities (Дополнительный) | Задает, как будут определяться априорные вероятности.
| String |
in_a_priori_file (Дополнительный) | Текстовой файл, содержащий априорные вероятности для входных классов сигнатур. Входные данные для файла априорных вероятностей требуются, только если используется параметр ФАЙЛ. Расширением файла априорных вероятностей может быть расширение .txt или .asc. | File |
out_confidence_raster (Дополнительный) | Выходной набор растровых данных доверия показывает 14 уровней достоверности классификации, при этом более низкие значения уровней указывают на более высокую степень достоверности. Если ячейки, классифицированные на определенном уровне достоверности, отсутствуют, то такой уровень достоверности не будет представлен в выходном растре доверия. Он будет целочисленного типа. | Raster Dataset |
Возвращаемое значение
Имя | Объяснение | Тип данных |
out_classified_raster | Выходной классифицированный растр. Он будет целочисленного типа. | Raster |
Пример кода
MaximimumLikelihoodClassification Пример 1 (окно Python)
В этом примере создается выходной классифицированный растр, содержащий 5 классов, полученных из входного файла сигнатур и многоканального растра.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
mlcOut = MLClassify("redlands", "c:/sapyexamples/data/wedit5.gsg", "0.0",
"EQUAL", "", "c:/sapyexamples/output/redmlcconf")
mlcOut.save("c:/sapyexamples/output/redmlc")
MaximimumLikelihoodClassification. Пример 2 (автономный скрипт)
В этом примере создается выходной классифицированный растр, содержащий 5 классов, полученных из входного файла сигнатур и многоканального растра.
# Name: MLClassify_Ex_02.py
# Description: Performs a maximum likelihood classification on a set of
# raster bands.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "redlands"
sigFile = "c:/sapyexamples/data/wedit5.gsg"
probThreshold = "0.0"
aPrioriWeight = "EQUAL"
aPrioriFile = ""
outConfidence = "c:/sapyexamples/output/redconfmlc"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
mlcOut = MLClassify(inRaster, sigFile, probThreshold, aPrioriWeight,
aPrioriFile, outConfidence)
# Save the output
mlcOut.save("c:/sapyexamples/output/redmlc02")
Параметры среды
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst