Доступно с лицензией Spatial Analyst.
Краткая информация
Использует алгоритм кластеризации изоданных для определения характеристик естественных групп ячеек в многомерном атрибутивном пространстве и хранит результаты в выходном ASCII-файле сигнатур.
Использование
Инструмент Изокластер (Iso Cluster) выполняет кластеризацию многомерных данных, объединенных в перечне входных растров. Результирующий файл сигнатур может быть использован в качестве входных данных для инструмента классификации, например, Классификации по методу максимального подобия (Maximum Likelihood Classification), который приводит к созданию классифицированного растра без обучения.
Минимальное действительное значение для числа классов равно двум. Максимально возможное число классов не ограничено. В общем случае, определение большего числа кластеров предполагает необходимость выполнения большего числа итераций.
Чтобы предоставить достаточно качественную статистику, необходимую для создания файла сигнатур, который будет использоваться в последующей классификации, каждый кластер должен содержать достаточное для адекватного представления кластера количество ячеек. Значение, вводимое для минимального размера класса, должно быть примерно в 10 раз больше, чем число слоев на входных каналах растра.
Значение, вводимое для интервала выборки, указывает, что в вычислениях кластера используется одна ячейка из каждого блока размером n-на-n.
Вы не должны объединять или удалять классы, либо менять какую-либо статистику, включенную в ASCII-файл сигнатур.
Как правило, чем больше ячеек содержится в экстенте пересечения входных каналов, тем большие значения должны быть заданы для минимального размера класса и интервала образца. Значения, вводимые для интервала выборки, должны быть достаточно малы с тем, чтобы корректно создать кластер для самых небольших участков, соответствующих категориям во входных данных, которые вы хотите отобразить.
Значения идентификаторов классов (ID) в выходном файле сигнатур начинаются с единицы и последовательно увеличиваются до числа входных классов. Номера классам присваиваются случайным образом.
Будут получены лучшие результаты, если все входные каналы будут иметь одинаковые диапазоны данных. Если каналы значений на разных слоях отличаются значительно, диапазоны данных могут быть преобразованы в один и тот же диапазон путем выравнивания с использованием Алгебры карт.
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.
Если входные данные представлены слоем, созданным на основании многоканального растра, содержащего более трёх каналов, операция будет выполняться для всех каналов, связанных с исходным набором данных, а не только для трёх каналов, которые загружены слоем (то есть, отображаются символами).
Существует несколько способов для указания поднабора каналов многоканального растра, которые нужно использовать в качестве входных данных инструмента.
- При использовании диалогового окна инструмента перейдите к многоканальному растру с помощью кнопки обзора , расположенной рядом с пунктом Входные растровые каналы (Input raster bands), откройте растр и выберите нужные каналы.
- Если многоканальный растр является слоем в Таблице содержания, можно использовать инструмент Создать растровый слой, чтобы создать новый многоканальный слой, содержащий только нужные каналы.
- Можно также создать новый набор данных, содержащий только нужные каналы, используя для этого инструмент Объединить каналы, входными данными для которого будет являться полученный набор данных.
- В Python нужные каналы можно указать как список напрямую в параметре инструмента.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
IsoCluster (in_raster_bands, out_signature_file, number_classes, {number_iterations}, {min_class_size}, {sample_interval})
Параметр | Объяснение | Тип данных |
in_raster_bands [in_raster_band,...] | Входные каналы растров. Они могут быть целочисленными или с плавающей точкой. | Raster Layer |
out_signature_file | Выходной файл сигнатур. Необходимо задать расширение .gsg. | File |
number_classes |
Число классов, в которые будут сгруппированы ячейки. | Long |
number_iterations (дополнительно) | Число итераций, выполняемых в процессе кластеризации. Значение по умолчанию равно 20. | Long |
min_class_size (дополнительно) | Минимальное число ячеек в действительном классе. Значение по умолчанию равно 20. | Long |
sample_interval (дополнительно) | Интервал, который будет использован для выборки. Значение по умолчанию равно 10. | Long |
Пример кода
IsoCluster, пример 1 (окно Python)
В этом примере создается файл сигнатур для классификации входного многоканального растра на классы.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
IsoCluster("redlands", "c:/sapyexamples/output/isosig.gsg", 5, 20, 50, 15)
IsoCluster, пример 2 (автономный скрипт)
В этом примере создается файл сигнатур для классификации входного многоканального растра на классы.
# Name: IsoCluster_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"
outSig = "redlndiso.gsg"
classes = 5
cycles = 20
minMembers = 50
sampInterval = 15
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute IsoCluster
IsoCluster(inRaster, outSig, classes, cycles, minMembers, sampInterval)