Сравнение пакетов R2V v.5.5.020304 и
Easy Trace 7.5 PRO
на примере автоматической векторизации
цветных изолинейных растров
1.
Мы готовы признать, что приведенное
ниже сравнение страдает известной долей субъективизма, отчасти
обусловленного нашим небольшим опытом работы с R2V.
Мы будем признательны, если Вы предложите иной способ векторизации
изолинейных растров с помощью R2V, позволяющий получить лучшие
результаты…
2.
Статья написана по состоянию на март
месяц 2002 года. Изменения в R2V на начало 2003 года не
коснулись этапов, описанных ниже, что позволяет считать изложенные
положения остающимися в силе.
Исходным материалом, на котором проводилось сравнение
возможностей векторизаторов, послужил фрагмент топографической карты
M 1:24000. Это реальный растровый материал, хранящийся в одном из
зарубежных фондов цифровых картографических материалов. Многочисленные
материалы, хранящиеся в фонде, нормализованы по палитре и числу используемых
цветов. Палитра рассматриваемого растра содержит 18 цветов, разрешение
при сканировании - 254 точки на дюйм.
Сравнение проводилось в рамках традиционного технологического
процесса, применяемого для векторизации изолинейных материалов:
Демонстрационную версию векторизатора Easy
Trace Вы можете взять здесь.
Демонстрационную версию векторизатора R2V Вы можете
взять на сайте Able
Software. Исходный цветной растр Вы можете найти здесь.
Рис.1. Фрагмент исходного растра.
Шаг
1. Выделение тематического слоя изолиний
Оба сравниваемых
векторизатора имеют средства для выделения тематических слоев
из цветного растра: Classification(R2V)
и Инструмент бинаризации растров(Easy
Trace).
Векторизатор R2V
Так как
предварительная визуализация результатов (Preview)
ОТСУТСТВУЕТ, при выделении приходится полагаться
на интуицию. В случае неудачной попытки, для повторения операции
растр приходится загружать заново, так как возможность
выполнения Undo ТОЖЕ ОТСУТСТВУЕТ.
После многих попыток нам удалось выделить слой
изолиний (рис. 2), но не удалось полностью удалить объекты
черного цвета — надписи и сетку, а сами изолинии содержали
большое количество разрывов.
Рис.2. Тематический слой изолиний,
выделенный в черно-белый растр средствами R2V.
Векторизатор
Easy Trace
В векторизатор Easy
Trace, начиная с версии 7.3, интегрирован пакет тематического
цветоделения Rainbow. Это целый набор специализированных
инструментов с возможностью предварительного
просмотра результатов работы. Выделение тематического
слоя изолиний заняло менее минуты. При этом на выделенном
слое (рис. 4) практически отсутствовали объекты черного цвета,
а сами изолинии не имели значительных разрывов. Следы сетки
и надписей черного цвета образованы граничными "коричневыми"
пикселами, появившимися в результате нормализации растра при
помещении его в цифровой фонд.
Рис. 3. Тот же слой, выделенный
в черно-белый растр средствами Easy Trace.
Шаг
2. Удаление чужеродных объектов на черно-белом растре
(следы сетки, реки, дороги)
На этой
стадии удаляются объекты, не относящиеся к тематическому слою.
В данном случае это следы сетки и надписей.
Векторизатор
R2V
Векторизатор R2V
предлагает для решения этой задачи Image Pixel Tool.
С его помощью можно вручную стереть лишние или дорисовать недостающие
пикселы на растре. Для реальных растров этот способ ПРАКТИЧЕСКИ
БЕСПОЛЕЗЕН, так как требует больше времени, чем необходимо
для редактирования проблемных мест после автоматической векторизации.
Векторизатор Easy
Trace
Easy
Trace, помимо инструмента "Кисть", аналогичного
Image Pixel Tool, предлагает инструмент
вычитания векторных данных из растра. Для удаления с растра
следов сетки можно:
1. Векторизовать сетку по цветному растру инструментом
Трассировщик ломаных.
2. К полученной векторной сетке применить команду
Растеризация векторных данных.
Для гарантированного стирания сетки лучше использовать
линии несколько большей толщины, чем в исходном растре. Образующиеся
при этом разрывы в изолиниях будут частично удалены при фильтрации
растра, и окончательно — при сшивке концов
полилиний.
Инструмент Растеризация векторных данных
может быть применен для удаления следов любых объектов
(рек, дорог). Его применение особенно оправдано, если векторизация
объектов, являющихся помехой для автоматической векторизации,
тоже входит в задачу. Например, отвекторизовав речную сеть,
делаем ее копию на другой векторный слой, увеличиваем толщину
линий и "вычитаем" из растра с изолиниями.
Для удаления случайного
шума R2V предоставляет только один фильтр
— Despeckle, не имеющий параметров. Для увеличения
«степени очистки» Руководство пользователя рекомендует применять
к растру эту операцию несколько раз. Это приводит к вырождению
линий толщиной 1-2 px (рис. 4).
Добавленные пикселы
Удаленные пикселы
Рис. 4. Вырождение
тонких линий на растре при двукратном применении фильтра Despeckle.
Векторизатор Easy
Trace
Алгоритм фильтрации
Easy Trace не только удаляет шум, сохраняя
при этом тонкие линии, но и частично восстанавливает
разорванные линии и удаляет паразитные связи ("перемычки")
(рис. 5).
Пользователь может самостоятельно создавать наборы фильтров,
оптимизированные для конкретных растров.
Добавленные пикселы
Удаленные пикселы
Замыкание разрывов в линиях
Уборка "мусора"
Улучшение формы
линий
Удаление паразитных
"мостиков"
Рис. 5.
Что же получилось?
Ниже приведены
фрагменты черно-белых растров тематических слоев, полученных
с помощью R2V (рис. 6) и Easy
Trace (рис. 7). Из сравнения приведенных рисунков видно,
что на растре, полученном с помощью R2V,
большая часть информации оказалось утраченной.
Векторизатор R2V
Рис. 6. Почти полное исчезновение тонких линий и сохранившиеся
элементы черного цвета делают растр, полученный средствами
R2V практически непригодным для автоматической
векторизации.
Векторизатор
Easy Trace
Используя только встроенные
средства Easy Trace, мы достаточно быстро смогли получить
черно-белый растр, пригодный к автоматической векторизации.
Рис. 7. Отсутствие посторонних объектов и качественные линии
на растре
делают растр, полученный средствами Easy Trace, пригодным
к автоматической векторизации.
ВЫВОД: Качество подготовки растра
с помощью R2V следует признать неудовлетворительным,
и дальнейшее сравнение возможностей векторизаторов
R2V и Easy Trace будет выполнено на черно-белом растре, полученном
с помощью Easy Trace.
Шаг
4. Автоматическая векторизация
Векторизатор R2V
В настройках параметров автовекторизации
R2V доступен только выбор режима трассировки
— по осевой линии (Centerline) или оконтуривание (Boundary),
и тип оригинала — карта (Map) или чертеж (Drawing).
В процессе векторизации отсутствует первичная оптимизация, что
приводит к появлению лишних сегментов и вершин
линий.
Векторизатор Easy
Trace
Автоматический векторизатор
Easy Trace позволяет пользователю перед
началом векторизации настроить преобладающий тип линий, а
также задать такие параметры автотрассировки, как средняя
толщина линий на растре, размеры игнорируемых пятен и каверн
(отверстий) и длина удаляемых коротких (шумовых) векторных
отрезков.
Шаг
5. Сшивка концов полилиний
Полученные
в результате автоматической векторизации полилинии имеют разрывы
в местах удаленной сетки и локальных дефектов растра. Оба
векторизатора содержат средства сшивки концов разорванных
полилиний.
Векторизатор R2V
Сшивка концов полилиний
в векторизаторе R2V осуществляется командой
Snap Line… Эта команда соединяет концы полилиний, находящиеся
друг от друга ближе, чем заданное пользователем значение.
Лучший результат, который удалось получить, многократно выполняя
команду Snap Line… с последовательным увеличинием радиуса
сшивки, приведен на рис. 8 (справа). Видно, что сшивка выполнена
далеко не для всех линий.
Подавляющее большинство сшивок — некорректны.
Кроме того, были попарно сшиты концы полилиний, находящихся
на краях растра (верхняя часть рисунка), что для изолинейного
материала недопустимо.
При выполнении сшивки полностью проигнорированы
направления сшиваемых линий. Замыкающие отрезки не содержат
дополнительных экстраполированных точек, обеспечивающих гладкое
соединение, учитывающее кривизну линий.
Рис. 8. Результат выполнения сшивки концов полилиний в R2V.
Часть очевидных сшивок так и не была выполнена. Такой результат
не может быть признан удовлетворительным.
ВЫВОД: Векторизатор
R2V не позволяет получить качественную
сшивку концов полилиний в автоматическом режиме
и эта часть работы должна быть выполнена оператором
вручную.
Векторизатор
Easy Trace
Easy
Trace выполняет сшивку не только в пределах радиуса, указанного
пользователем, но и с учетом направления сшиваемой полилинии:
сшивающий сегмент экстраполирует форму
линии на основании кривизны концов соединяемых линий (рис.
9). На краях поля проекта сшивка не выполняется. Сшитыми оказываются
практически 100% полилиний.
Рис. 9. Результат сшивки концов полилиний в Easy
Trace.
Шаг
6. Удаление векторного "мусора"
Оба векторизатора
могут удалять короткие отрезки полилиний, образованные при
автоматической векторизации шумов на растре.
Векторизатор
R2V
В R2V линии удаляются,
если имеют число вершин или длину, попадающие в заданный диапазон.
Векторизатор не позволяет оператору исключить или добавить объекты
в число удаляемых. Как следствие, удаляется
часть коротких несшитых сегментов, часть мусора - остается.
Векторизатор Easy
Trace
В Easy
Trace отбор и уточнение состава удаляемых объектов выполняется
средствами одного из основных инструментов векторного редактирования
- Группового редактора.
Это позволяет: выделять полилинии по количеству
вершин, добавлять новые объекты к выделенным или снимать выделение
с уже отмеченных. При выполнении операции доступно изменение
масштаба просмотра и произвольное перемещение по растру.
Благодаря этому, количество ошибочно
удаленных объектов минимально.
Шаг
7. Оптимизация формы линий и уменьшение числа вершин
Полученные
полилинии содержат избыточное число вершин, большая часть
которых может быть удалена без искажения формы линий.
Векторизатор
R2V
В векторизаторе R2V
оптимизация формы линии осуществляется с помощью двух команд
— Smooth Lines… и B-Spline smooth…. Наилучшие
результаты оптимизации, достигнутые нами, приведены на рис.
10. Видно, что при оптимизации Smooth Linesискажается
форма полилинии (рис. 10 в центре), а B-Spline smooth,
хотя и сохраняет форму полилинии, приводит к появлению огромного
числа дополнительных вершин (рис. 10 справа,
красные утолщения на линиях — множество дополнительных вершин).
Рис. 10. Результаты оптимизации формы полилиний, полученные
средствами R2V.
Видно, что удаляя лишние вершины, фильтр Smooth Lines…
(в центре) искажает форму линии.
Фильтр B-Spline Smooth (справа), сохраняя форму линии,
порождает чудовищное количество
дополнительных вершин.
Векторизатор Easy
Trace
В Easy
Trace при оптимизации возможно задать тип формируемой
линии и точность ее аппроксимации. Процедура очень хорошо
удаляет «лишние» точки,сохраняя форму
линии на любых участках. Возможно одновременное
сглаживание с настройкой параметров для
линий различного типа.
Результат оптимизации показан на рис. 11. Оптимизированная
полилиния содержит минимум вершин и хорошо повторяет форму
соответствующей линии на растре.
Рис. 11. Результаты оптимизации формы полилиний, полученные
средствами Easy Trace.
Достигнута «золотая середина» между числом вершин и точностью
— векторизованная линия совпадает с оригиналом линии на растре.
Шаг
8. Выявление топологических ошибок
Векторизатор
R2V
Возможности R2V по
выявлению ошибок ограничиваются выявлением самопересечения замкнутых
контуров. Для изолиний, выходящих за векторизуемый лист и поэтому
не являющихся замкнутыми, пересечения не обнаруживаются.
Векторизатор Easy
Trace
Easy
Trace автоматически выявляет и помечает 10
типов ошибок топологии. В отличие от R2V,
помечающие значки указывают непосредственно на места возникновения
ошибок и показывают их тип. Специальные средства векторного
редактора позволяют автоматически позиционировать экран на
точки возникновения ошибок.
Критерии проверки могут быть объединены в хранимые
и наследуемые стратегии проверки, применяемые
к тем или иным видам объектов и тематическим слоям.
Шаг
9. Коррекция ошибок
Обнаруженные
на предыдущем этапе ошибки топологии в обоих векторизаторах
могут быть исправлены при помощи встроенных инструментов редактирования
топологии.
Векторизатор
R2V
Векторизатор R2V
имеет возможность автоматической коррекции
выявленных ошибок. Однако, приемлемые результаты получить
не удалось.
Векторизатор Easy
Trace
Наличие в
Easy Trace возможности перемещения от одной ошибки к другой
позволяет оператору быстро вносить исправления, не затрачивая
времени на просмотр всего поля проекта в поисках отмеченных
ошибок (рис. 12).
Рис. 12.
Шаг
10. Присвоение значений высот изолиниям
Векторизатор
R2V
Возможность отсутствует.
Векторизатор Easy
Trace
В Easy
Trace можно присвоить значение Z-координаты полилиниям
как вручную— при помощи редактора,
так и в полуавтоматическом режиме. Для этого
надо включить инструмент простановки высот, задать шаг изменения
Z и ...:
1. ... присвоить значение Z любой полилинии
...
2. ... указав на нее, "перечеркнуть"
пучок изолиний.
3. Повторять п. 2 пока не будут присвоены значения
Z всем полилиниям.
Остается только следить за ростом или понижением
значения высоты и не пропускать линии, имеющие серый (начальный)
цвет.
Пересечение "гребней" и "впадин"
отслеживается автоматически. Ведется непрерывный контроль
сответствия высот ранее присвоенным значениям. А контролировать
процесс помогает цветовая гамма и индикация значений присвоенных
высот в точках пересечений (рис. 13).
Рис. 13.
ВЫВОД
Из приведенного выше
сравнения видно, что такой широко распространенный векторизатор,
как R2V, малопригоден для векторизации реальных
изолинейных растров. Он не обладает необходимыми средствами
для выделения из исходного растра слоя изолиний и «очистки»
полученного растра. Процесс подготовки подобного материала
к векторизации требует больших затрат ручного труда или использования
дополнительных программных продуктов.
Возможности R2V по обработке
векторизованного материала также недостаточны — сшивка концов
полилиний, выявление ошибок топологии реализованы без учета
специфики изолинейного материала. Возможность автоматической
простановки отметок высот отсутствует.
Векторизатор Easy Trace, напротив,
имеет все необходимые возможности для подготовки
материала к векторизации и последующей передачи векторизованного
материала в конечную ГИС. Следует отметить, что большинство
трудоемких операций, таких как подготовка растра, векторизация,
сшивка концов полилиний, проверка топологии, присвоение высот
изолиниям, автоматизированы и не требуют
затрат рабочего времени оператора. При этом цена
векторизатора Easy Trace более чем вдвое
ниже цены R2V.