Доступно с лицензией Spatial Analyst.
С помощью Дополнительный модуль ArcGIS Spatial Analyst, вы можете создать классификацию, сгруппировав ячейки растра в классы или кластеры. Класс обычно представляет собой известную категорию, такую как леса, жилые районы или водоемы, а кластер представляет собой группу ячеек, основанную на статистике их атрибутов. Сигнатура - это поднабор ячеек, представляющих класс или кластер. Статистика сигнатур хранится в файле сигнатур, который будет использоваться для классификации всех ячеек на пересечении входных каналов.
Что такое класс?
Класс соответствует значимой группе местоположений. Например, лес, вода и высокая урожайность пшеницы - все это классы.
Каждое местоположение характеризуется набором или вектором значений, одним значением для каждой переменной или входного канала. Каждое местоположение можно визуализировать как точку в многомерном атрибутивном пространстве, оси которого соответствуют переменным во входных каналах. Группа точек в этом многомерном атрибутивном пространстве называется кластером, и в этом случае, поскольку кластер относится к чему-то значимому, его также можно рассматривать как класс. Два местоположения принадлежат одному и тому же кластеру, если их атрибуты (вектор значений канала) схожи.
Известные классы могут образовывать кластеры в пространстве атрибутов, если классы можно разделить или различить по значениям их атрибутов. Местоположения, соответствующие естественным кластерам в пространстве атрибутов, можно интерпретировать как естественные классы слоев.
Идентификация классов для классификации с обучением
В классификации с обучением вы знаете, на какие классы вы хотите разделить исследуемый участок, и у вас есть примеры местоположений на исследуемом участке, которые представляют каждый класс. Например, если вы создаете карту землепользования на основе спутникового снимка, классами могут быть город, вода, лес, поля и дороги. Цель состоит в том, чтобы присвоить каждому местоположению в исследуемой области известный класс. Чем больше примеров местоположений, которые можно идентифицировать как принадлежащие к классу, и чем более однородными являются значения ячеек внутри класса, тем лучше будет последующая классификация. Фактические местоположения, идентифицирующие известные местоположения классов, называются обучающими выборками.
Обучающие выборки могут быть идентифицированы на полигональном слое или на растре. При определении обучающих выборок вы можете указать существующий растр в качестве эталона. Как правило, цветовая комбинация первых трех слоев растра отображается в качестве фона и используется в качестве эталона для определения областей, которые следует обвести при создании обучающих выборок.
Создание кластеров в классификации без обучения
Первым шагом в классификации без обучения является создание кластеров. Статистически кластеры - это естественно возникшие группы данных. Инструменту Изокластер требуются входные растровые каналы, количество классов, имя выходного файла сигнатур, количество итераций, минимальный размер класса и интервал, с которым берутся точки выборки для расчета кластеров (конечные три параметра обсуждаются ниже).
Инструмент возвращает файл сигнатур, содержащий многомерную статистику для поднабора ячеек для идентифицированных кластеров. Результирующие вычисления определяют, какое местоположение ячейки принадлежит какому кластеру, среднее значение для кластера и матрицу ковариации. Эта информация хранится в файле сигнатур ASCII. Файл сигнатур необходим для кластеризации и классификации оставшихся ячеек вне обучающих выборок.
Хранение статистики класса или кластера: файл сигнатур
Файл сигнатур представляет собой файл ASCII, в котором хранится многомерная статистика для каждого класса или кластера интереса. Файл включает среднее значение для каждого класса или кластера, количество ячеек в классе или кластере и матрицу ковариации для класса или кластера.
Файл сигнатур можно отобразить в любом текстовом редакторе.
Для любого класса или кластера значения диагонали при перемещении из левого верхнего угла в правый нижний в матрице ковариации, являются значениями дисперсии для переменных, соответствующих входным растровым каналам, идентифицированным пересечением строки/столбца в матрице для каналов. Все остальные значения в матрице являются значениями ковариации.
Как определяются кластеры для классификации без обучения
Алгоритм, используемый для создания кластеров в классификации без обучения, называется Изокластер. Префикс "изо" алгоритма кластеризации "изодата" означает итеративную самоорганизацию (ISO), метод выполнения кластеризации. Кластеры рассчитываются с использованием поднабора ячеек в изучаемой области. Все расчеты кластера выполняются по значениям ячеек в многомерном пространстве атрибутов и не основаны на каких-либо пространственных характеристиках. Т.е среднее значение получается из значений атрибутов для различных входных каналов. Значения дисперсии и ковариации рассчитываются на основе вариаций внутри и между каналами.
В следующем примере используется метод кластеризации K-среднего или ISO. Для теоретического объяснения методологии будет использоваться двухканальный растр. Эта же методология работает для любого количества введенных каналов или в n-мерном пространстве. Следующее обсуждение носит концептуальный характер и позволяет лучше понять метод кластеризации ISO.
- На пустом графике диапазон значений в первом канале отложен по оси x, а диапазон значений во втором канале отложен по оси y.
- Под углом 45 градусов нарисована линия и разделена на указанное вами количество классов. Центральная точка каждого из этих сегментов линии является начальным средним значением для классов.
- Каждую ячейку выборки наносят на график и определяют расстояние от точки до каждой точки усредненного центра на линии под углом 45 градусов. Вычисляется расстояние в пространстве атрибутов с использованием теоремы Пифагора. Точка выборки назначается кластеру, представленному ближайшей точкой усредненного центра.
- Наносится следующая точка выборки, и описанная выше процедура повторяется для всех точек выборки.
- Вышеупомянутый процесс будет итерироваться. Перед следующей итерацией для каждого кластера вычисляется новая точка усредненного центра на основе значений местоположений ячеек, назначенных в данный момент кластеру в предыдущей итерации. С новой точкой усредненного центра для каждого кластера предыдущие два шага повторяются.
- Средние значения обновляются, и предыдущий шаг повторяется. Процесс итерации для обновления средних значений продолжается до тех пор, пока не будет достигнуто заданное пользователем число итераций или пока менее 2 процентов ячеек не изменятся из одного кластера в другой относительно новых средних значений в рамках итерации.
Кластеризация чувствительна к диапазону значений в каждом канале. Этот диапазон значений определяет значения на осях x и y, из которых вычисляются Евклидовы расстояния между средними и точками примеров. Чтобы атрибуты каждого канала учитывались одинаково, диапазон значений для каждого канала должен быть одинаковым, независимо от того, выполняется ли классификация с обучением или кластеризация без обучения. Когда диапазон значений одного канала мал по сравнению с другими каналами, Евклидово расстояние в многомерном пространстве может быть настолько малым, что несколько кластеров могут дать среднее значение, равное нулю. Если какой-либо кластер имеет нулевое среднее значение, окончательная классификация и любой другой многомерный инструмент, который зависит от файла сигнатуры, не выполнится. В идеале, все каналы должны быть нормализованы к одному и тому же диапазону значений.