Выполняет неконтролируемую классификацию на ряде каналов входного растра, используя инструменты Изокластер (Iso Cluster) и Классификация по методу максимального подобия (Maximum Likelihood Classification).
Если многоканальный растр указан как один из входных для параметра Входные каналы растра (in_raster_bands в Python), будут обработаны все каналы.
Чтобы обработать выбранные каналы многоканального растра, сначала создайте новый набор растровых данных, состоящий только из необходимых каналов, с помощью инструмента Объединить каналы, затем укажите полученный набор как Входной растр (in_raster_bands в Python).
Полученный в результате работы этого инструмента файл сигнатур может использоваться в качестве входных данных для другого инструмента классификации, например, Классификации по методу максимального подобия, для большего контроля параметров классификации.
Минимальное действительное значение для числа классов равно двум. Максимально возможное число классов не ограничено. В общем случае, определение большего числа кластеров предполагает необходимость выполнения большего числа итераций.
Чтобы предоставить достаточно качественную статистику, необходимую для создания файла сигнатур, который будет использоваться в последующей классификации, каждый кластер должен содержать достаточное для адекватного представления кластера количество ячеек. Значение, вводимое для минимального размера класса, должно быть примерно в 10 раз больше, чем число слоев на входных каналах растра.
Значение, вводимое для интервала выборки, указывает, что в вычислениях кластера используется одна ячейка из каждого блока размером n-на-n.
Вы не должны объединять или удалять классы, либо менять какую-либо статистику, включенную в ASCII-файл сигнатур.
Как правило, чем больше ячеек содержится в экстенте пересечения входных каналов, тем большие значения должны быть заданы для минимального размера класса и интервала образца. Значения, вводимые для интервала выборки, должны быть достаточно малы с тем, чтобы корректно создать кластер для самых небольших участков, соответствующих категориям во входных данных, которые вы хотите отобразить.
Значения идентификаторов классов (ID) в выходном файле сигнатур начинаются с единицы и последовательно увеличиваются до числа входных классов. Номера классам присваиваются случайным образом.
Имя выходного файла сигнатур должно иметь расширение .gsg.
Будут получены лучшие результаты, если все входные каналы будут иметь одинаковые диапазоны данных. Если каналы имеют сильно различающиеся диапазоны данных, эти диапазоны могут быть преобразованы в один и тот же диапазон при помощи Алгебры карт, чтобы уравнять их.
where:
Z is the output raster with new data ranges.
X is the input raster.
oldmin is the minimum value of the input raster.
oldmax is the maximum value of the input raster.
newmin is the desired minimum value for the output raster.
newmax is the desired maximum value for the output raster.
Они могут быть целочисленными или с плавающей точкой.
Raster Layer; Mosaic Layer
Number_of_classes
number_of_classes
Число классов, в которые будут сгруппированы ячейки.
Long
Minimum_class_size
minimum_class_size
(Дополнительный)
Минимальное число ячеек в действительном классе.
Значение по умолчанию равно 20.
Long
Sample_interval
sample_interval
(Дополнительный)
Интервал, который будет использован для выборки.
Значение по умолчанию равно 10.
Long
Output_signature_file
out_signature_file
(Дополнительный)
Выходной файл сигнатур.
Необходимо задать расширение .gsg.
File
Возвращаемое значение
Имя
Описание
Тип данных
Output_classified_raster
Выходной классифицированный растр.
Raster
Пример кода
IsoClusterUnsupervisedClassification, пример 1 (окно Python)
В этом примере выполняется неконтролируемая классификация, распределяющая входные каналы в 5 классов, и выдается классифицированный растр.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outUnsupervised = IsoClusterUnsupervisedClassification("redlands", 5, 20, 50)
outUnsupervised.save("c:/temp/unsup01")
IsoClusterUnsupervisedClassification, пример 2 (автономный скрипт)
В этом примере выполняется неконтролируемая классификация, распределяющая входные каналы в 5 классов, и выдается классифицированный растр.
# Name: IsoClusterUnsupervisedClassification_Ex_02.py
# Description: Uses an isodata clustering algorithm to determine the
# characteristics of the natural groupings of cells in multidimensional
# attribute space and stores the results in an output ASCII signature file.
# 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"
classes = 5
minMembers = 50
sampInterval = 15
# Execute IsoCluster
outUnsupervised = IsoClusterUnsupervisedClassification(inRaster, classes, minMembers, sampInterval)
outUnsupervised.save("c:/temp/outunsup01.tif")