Доступно с лицензией Spatial Analyst.
Краткая информация
Выполняет классификацию по методу максимального подобия для набора каналов растра и создаёт классифицированный растр в качестве выходных данных.
Более подробно о том, как работает Классификация по методу максимального подобия
Использование
Любой файл сигнатур, созданный с помощью инструментов Создать сигнатуры (Create Signature), Редактировать сигнатуры (Edit Signature) или Изокластер (Iso Cluster), является действительным для использования в качестве входного файла сигнатур. Такой файл будет иметь расширение .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.
Существует прямая зависимость между числом неклассифицированных ячеек на выходном растре, вытекающем из доли отклонения, и числом ячеек, представленных суммой уровней доверия, меньших, чем соответствующее значение, введенное для доли отклонения.
Если входные данные представлены слоем, созданным на основании многоканального растра, содержащего более трёх каналов, операция будет выполняться для всех каналов, связанных с исходным набором данных, а не только для трёх каналов, которые загружены слоем (то есть, отображаются символами).
Существует несколько способов для указания поднабора каналов многоканального растра, которые нужно использовать в качестве входных данных инструмента.
- При использовании диалогового окна инструмента перейдите к многоканальному растру с помощью кнопки обзора , расположенной рядом с пунктом Входные растровые каналы (Input raster bands), откройте растр и выберите нужные каналы.
- Если многоканальный растр является слоем в Таблице содержания, можно использовать инструмент Создать растровый слой, чтобы создать новый многоканальный слой, содержащий только нужные каналы.
- Можно также создать новый набор данных, содержащий только нужные каналы, используя для этого инструмент Объединить каналы, входными данными для которого будет являться полученный набор данных.
- В Python нужные каналы можно указать как список напрямую в параметре инструмента.
Если имя класса в файле подписи отличается от идентификатора класса, в таблицу атрибутов выходного растра будет добавлено дополнительное поле 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 (дополнительно) | Доля ячеек, которые останутся не классифицированными, из-за минимального значения вероятности корректного отнесения ячейки к тому или иному классу. Значение по умолчанию равно 0.0, следовательно, классифицированы будут все ячейки. Допустимыми типами данных являются
| String |
a_priori_probabilities (дополнительно) | Задает, как будут определяться априорные вероятности.
| String |
in_a_priori_file (дополнительно) | Текстовой файл, содержащий априорные вероятности для входных классов сигнатур. Входные данные для файла априорных вероятностей требуются, только если используется параметр ФАЙЛ (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")
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Сжатие (Compression)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)