Технология автоматической векторизации
рельефа
в Easy Trace v 7.5 PRO build 793 [редакция 2 от 23.04.02]
Большинство приведенных здесь
операций Вы можете выполнить самостоятельно, используя демонстрационную
версию пакета и фрагмент растрового материала. В Приложении
приведена пошаговая
инструкция на случай, если Вы недостаточно знакомы
с пакетом Easy Trace.
Мы умышленно не стали включать в статью возможности последней версии
ET v7.6, чтобы не сужать круг пользователей, которые могут использовать
эту технологию.
Технология автоматической векторизации рассматривается на примере
обработки топографической карты масштаба 1:24000, хранящейся
в одном из зарубежных фондов цифровых материалов.
Для "приведения к общему знаменателю" при помещении
в фонд, все растры были нормализованы, т. е. приведены к единой
палитре из 18 цветов. Разрешение растра 254 точки на дюйм.
Такое сильное сужение палитры привело к тому, что большинство
объектов оказались представлены одинаковыми наборами цветов
с преобладанием какого-либо из них.
Любая попытка выделения линий рельефа на этом растре неизбежно
приводит к захвату других объектов - надписей, линий сетки и
т.д.
Такая ситуация типична и для отечественных картографических
материалов. Причина несколько иная - низкое качество печати,
взаимопроникновение красок, отображение оттенков "разбавлением" цвета
белыми точками.
До недавнего времени обработка таких растров могла выполняться
только в полуавтоматическом режиме с большой долей ручного труда...
Шаг 1. Выделение
линий рельефа в черно-белый растр
С помощью инструмента бинаризации
выделим линии рельефа (фактически один темно-коричневый цвет
- выделение любых других цветов или оттенков приводит к захвату
большого числа паразитных объектов).
Тем не менее видно, что фрагменты линий сетки и подписей вошли
в полученный ч/б растр. Такое количество "мусора" может
привести к большому объему ручного редактирования после автоматической
векторизации.
Добавляем полученный растр в проект AUTO (добавить растровый
слой без трансформации, как COLOR.TIF).
Шаг 2.
Удаление сетки: Векторизация сетки
Для удаления следов сетки на растре рельефа воспользуемся
операцией растеризации векторных данных.
По цветному растровому слою отвекторизуем линии сетки на слое "Сетка"
вручную инструментом векторизации ломаных ,
установив толщину линии в 4 пиксела. Это несколько толще исходных
растровых линий и позволит гарантированно "накрыть"
линии сетки.
(Эту и следующую операции лучше выполнить на цветном
растре до выделения линий рельефа. Особенно в том случае, если
предполагается выделение более одного тематического слоя, например,
рельефа, речной сети и дорог.)
Шаг 3.
Удаление сетки: "Впечатывание" векторных линий в растр
Выполним растеризацию векторных линий сетки на
растровый слой рельефа, установив черный
цвет растеризации.
(Ручная подчистка следов сетки инструментом "Кисть"
требует несопоставимо больше времени!.)
Далее приведены результаты работы стратегии "Тонкие изолинии".
Добавленные пикселы
Удаленные пикселы
Операция фильтрации ч/б растров позволяет решить
сразу несколько задач: улучшить форму линий, устранить короткие
разрывы и отдельные паразитные "склейки", удалить "мусор".
Операция реализована как последовательность (в нашей терминологии "стратегия")
вызова специальных фильтров. Приобретя некоторые навыки, Вы
сможете составлять собственные стратегии фильтрации растров.
Результаты работы фильтров (поместите маркер мыши на рисунок)
Замыкание разрывов
в линиях
Уборка "мусора"
Улучшение формы линий
Удаление паразитных"мостиков"
Шаг 5. Автоматическая
векторизация
Для тонкого растра (ширина линий 1-3 пиксела)
предпочтительны следующие параметры автоматической векторизации:
Шаг 6. "Сшивка" концов
полилиний
Замыкающие
полилинии
Исходные полилинии
Для сшивки полилиний следует задать только два параметра:
слой, на котором будет выполняться сшивка;
дистанцию максимального сшиваемого разрыва.
Обратите внимание на восстановление формы замыкающих
полилиний в разрывах, образованных излучинами рек.
Шаг 7. Удаление
векторизованных надписей
Удаляемые полилинии
Полилинии рельефа
Воспользуемся тем, что векторизованные надписи состоят из коротких
полилиний. Выделим и удалим их с помощью группового редактора
.
Выделим отрезки длиной до 50 пикселов
Уточним состав линий (левая клавиша мыши - добавить линию
к выделенным, правая - исключить из выделения)
Удалим выделенные линии.
Чтобы ускорить процесс связывания изолиний в местах
разрывов, надо предварительно "отрезать" их изогнутые
концы инструментом "ножницы" редактора полилиний.
Если при рассечении полилинии "ножницами" удерживать
клавишу <CTRL>, то ее более короткая часть будет
не только отрезана, но и удалена.
В ряде случаев может оказаться эффективным использование нового
инструмента группового редактора "Групповое разделение
линий". Он позволяет отрезать и удалить все фрагменты
линий, заключенные в произвольный многоугольник.
Удаление линий с помощью инструмента
«Групповое разделение линий»: A. Инструмент «Групповое редактирование». B. Дополнительное
меню инструмента «Групповое редактирование», инструмент
«Групповое разделение линий». C. Многоугольник,
границами («режущими кромками») которого будут отрезаны полилинии.
После "зачистки" проблемных областей можно повторно
выполнить сшивку концов изолиний, указав большую длину сшиваемых
разрывов (порядка 30–50 px).
Шаг 8. Оптимизация
формы линий и исправление ошибок векторизации
Отмечены ошибки:
Самопересечения
Пересечения "Крест"
Пересечения "Вершина"
Висячие узлы
Псевдоузлы
Оптимизируем форму полилиний, используя следующие
параметры:
Используя утилиту проверки топологии, выявим пересечения и
разрывы изолиний.
Исправим выделенные ошибки с помощью инструментов редактора полилиний .
Шаг
9. Присвоение значений высот изолиниям
Воспользуемся инструментом простановки высот
для формирования полноценных линий рельефа.
Осталось произвести экспорт данных в Вашу ГИС
(в примере это ArcView). Можно выбрать и другие форматы: DXF,
MIF, GEN, DGN, CSV, ASC, TOP. Обратите внимание, что при экспорте
создается World-файл привязки растра.