Городской кадастр
Меню сайта
Категории каталога
Векторные карты системы ГИС Русса [10]
Создание и редактирование векторных карт для навигационно-информационной системы ГИС Русса
Наш опрос
Вы знаете, что такое Кадастр?
Всего ответов: 230
Главная » Статьи » Картография » Векторные карты системы ГИС Русса

Лекция №9
Лекция №9

1. Предварительное знакомство с векторизатором Easy Trace.
2. Пошаговая инструкция по работе в Easy Trace.
В предыдущей лекции мы познакомились со способами работы в замечательной программе GPSMapEdit. Как Вы уже убедились, с её помощью можно делать очень многое. Я надеюсь, что в процессе работы Вы найдёте новые, более оптимальные и простые, подходы к реализации своих замыслов. Однако у абсолютного большинства пользователей программы GPSMapEdit рано или поздно возникает один и тот же вопрос - А каким образом можно автоматизировать работу по созданию объектов? Самым простым решением вопроса является применение какого-либо векторизатора. Вот об этом мы сейчас и поговорим.

Предварительное знакомство с векторизатором Easy Trace.

Сразу скажу, что "автоматизировать" в данном случае не получится. Это для тех, кто думает, что можно загрузив растровое изображение карты, нажать кнопку "Старт" и через пару секунд получить готовый вектор. Увы! Однако значительно ускорить процесс векторизации действительно можно. В этом нам поможет программа Easy Trace. Несомненно, операция векторизации карт требует творческого подхода и определённого количества знаний по предмету. Впрочем, это касается практически всех профессиональных программ любого направления. В этой части я не буду слишком подробно останавливаться на описании всех имеющихся функций и инструментов. Вместо этого я приведу совершенно конкретный пример векторизации одного тематического слоя, полученного из участка растровой карты. Описание этого процесса будет построено в виде пошаговых инструкций, повторив которые, Вы должны получить идентичный результат. Но вначале немного о программе.

Easy Trace Group является российской компанией. Центральный офис располагается в Рязани. Образована она в 1992 году группой специалистов и энтузиастов. Очень многие пользователи, однажды попробовав в работе эту программу, благо демо-режим позволяет использовать все рабочие инструменты, однозначно выбирают Easy Trace. Почему так происходит? В первую очередь наиболее очевидным преимуществом, которое можно оценить сразу же после первого опыта по векторизации, является степень "интеллектуальности" Easy Trace по сравнению с конкурентами. Следует отметить русский интерфейс программы и замечательную справочную систему, активную работу по усовершенствованию программы и несравнимую, по отношению к ближайшим аналогам, стоимость.

Достаточно сказать, что в настоящее время программу Easy Trace применяют в 24 странах мира на более чем 2000 рабочих мест. А это, согласитесь, уже приближается к своего рода стандарту для выполнения подобных работ.

Не менее важным является очевидная ориентированность программы на самодостаточность. Это выражается в том, что в ней изначально присутствуют все необходимые функции и инструменты. Весь процесс - сканирование, коррекция растра, цветоделение, привязка, векторизация и экспорт, происходят в одной программе. То есть для полноценной работы достаточно всего двух программ - векторизатора Easy Trace и той программе, куда планируется перенести готовые векторные объекты. В нашем случае это редактор GPSMapEdit.

Хотя в редакторе GPSMapEdit основным форматом хранения данных является Польский формат, он умеет экспортировать данные из таких форматов как .SHP и .MIF. Первый является форматом программы ArcView, второй - форматом MapInfo. Обе являются популярнейшими ГИС. Причём незарегистрированная версия программы GPSMapEdit может работать только с данными в формате ArcView. В свою очередь Easy Trace умеет, помимо прочих, сохранять векторные данные и в этом формате.

Скачать программу всегда можно с сайта разработчика. Кстати, там очень много материала, ориентированного на ознакомление с возможностями программы и методы её применения. Обязательно ознакомьтесь. Установка программы достаточно стандартна и не вызовет никаких вопросов.

В самом начале давайте определим, что нам может предложить программа, находящаяся в демонстрационном режиме. Оказывается, что в демо-режиме она сохраняет все функции полной версии. Отличие заключается в ограничениях на объем обрабатываемых растровых и векторных материалов:

- размер загружаемых растровых файлов не может превышать 256 Kb (для черно-белых изображений);

- размеры загружаемых растровых изображений не должны быть больше 2000x2000 px;

- число векторных слоев не может быть больше 17;

- на каждом векторном слое можно установить не более 60 объектов.

Давайте посмотрим чем нам всё это грозит. Как известно, размер файла напрямую зависит от размера растрового изображения и количества цветов. Чем меньше размер изображения, он обычно измеряется в пикселах, и цветов, тем меньше размер файла. Какой будет площадь карты, изображение которого можно загрузить в демонстрационном режиме? Давайте подсчитаем. Для этого нам надо знать масштаб карты и разрешение, с каким она была отсканирована. Достаточно распространённым случаем является сканирование карт масштаба 1:200000 с разрешением 300 точек на дюйм. Какая площадь поместиться на квадрате 2000х2000 пиксел? Сначала разделим сторону этого квадрата на разрешение - 2000px/300dpi. Получили количество дюймов на одну сторону - примерно 6,5 дюймов. Теперь переведём эти данные в метрическую систему. Как известно в одном дюйме примерно 2,5см. Соответственно 6,5inch*2,5см=16,25см. Это будет размер одной стороны нашего квадрата для исходной карты. Масштаб карты говорит, что в 1см помещается 2км, поэтому умножим размер стороны на масштаб - 16,25см*2км=32,5км. Таким образом в демо-режиме в данном масштабе можно загрузить растровое изображение карты, соответствующее квадрату 32,5х32.5км. Много это или мало? На мой взгляд, вполне достаточно. Тем более никто не препятствует последовательной обработке кусков по 32,5км.

Допустимое количество векторных слоёв составляет 17. Что такое векторный слой? Векторные слои можно сравнить с листами в альбоме. Где каждый лист содержит узкую тематическую информацию. Как обычно принято распределять информацию в слоях и сколько из может потребоваться? Самым популярным является разделение по типам топографических данных. Причём разделение должно учитывать, каким этот объект будет на будущей карте. Это может быть полигон - озеро, лесной массив, или линия - река, дорога. Например, распределение может быть таким: 1 слой - дороги, 2 слой - реки, ручьи, 3 слой - озёра, море, 4 слой - лесистые участки и т.д. Попробуйте продолжить этот перечень, чтобы использовать все доступные 17 слоёв. И решите, хватит ли их для работы. Я думаю, что 17 будет вполне достаточно.

Теперь рассмотрим ограничение на количество объектов, допустимое на одном векторном слое. Их можно создать не более 60. Для указанной выше разбивки по слоям это будет значить 60 дорог, 60 рек и ручьёв, 60 озёр и т.д. И всё это в квадрате со стороной 32км. Скажу сразу, что обычно этого вполне хватает. Если вдруг количество объектов больше допустимого значения, то можно пойти двумя путями. Первый состоит в том, чтобы распределить данные по нескольким слоям, второй - это периодически сохранять объекты, удалять сохранённые данные и векторизовать то, что осталось. Объединить потом объекты в GPSMapEdit не составит никакого труда.

Итак с демо-режимом мы определились. Кроме указанных, никаких дополнительных ограничений нет. Ни количества запусков, ни "Триала" на определённое количество дней, ни ограничений на экспорт/импорт. Таким образом, всё не так уж и страшно.

Пошаговая инструкция по работе в Easy Trace.

Теперь рассмотрим все основные этапы работы на одном конкретном примере. Как в любой пошаговой инструкции, невозможно показать многие возможности столь интересной программы. Однако сухого перечисления последовательностей выбираемых инструментов и команд для такой работы явно недостаточно, поэтому придётся иногда останавливаться и объяснять некоторые моменты. Я надеюсь, что поняв общие принципы работы, Вы пойдёте дальше и постепенно познаете все возможности программы. А их, я Вас уверяю, очень много.

Начнём со сканирования. Так как у нас есть ограничения на размер изображения, то для сканирования мы воспользуемся любым редактором растровых изображений. Например популярнейшим Adobe Photoshop. Разрешение вполне достаточно установить равным 300-400 точек на дюйм. Не буду учить Вас как в нём работать. Нам просто надо вырезать из полученного изображения квадрат размером 2000 пиксел. Приведу только самый простой вариант - с помощью инструмента "Rectangular Marquee Tool". Единственное что Вам ещё придётся сделать это установить для этого инструмента фиксированный размер выделения "Style: Fixed Size" и указать высоту и ширину этого выделения - 2000 px. После этого надо разместить выделение на нужном участке изображения.

Далее идёт обрезка по выделению - "Image/Crop" и в результате мы получили изображение требуемого размера. Сохраняем полученное изображение в формате BMP или TIFF. Эти форматы позволяют сохранять изображения без потери качества.

Пришла пора поработать с растром. Качество отсканированного изображения имеет огромное значение для всей дальнейшей работы. Не даром разработчик программы рекомендует один раз поэкспериментировать с настройками драйвера сканера, чтобы в дальнейшем минимизировать трату времени на обработку полученного изображения. Здесь следует помнить, что изначально на топографических картах имеется довольно ограниченное количество цветов. Обычно, в зависимости от количества топографических данных, их количество колеблется от пяти до восьми. Возьмите карту и посчитайте сами. Обратите внимание, как из одного цвета на карте получают два, перемежая этот цвет с белым фоном. В результате кажется, что появился более светлый оттенок. В процессе эксплуатации и сканировании число цветов увеличивается за счёт естественных факторов - старение, воздействие света, сгибы, настройка оптики сканера и т.п. Поэтому всегда следует сканировать как можно лучше передавая исходные цвета карты и исключая приобретённые. Настройка драйвера индивидуальна для каждого случая. Рекомендую в Adobe Photoshop сразу преобразовать цветовую схему изображения. Наиболее подходящим будет преобразование в формат индексированных цветов. Это позволит значительно ограничить их количество и сократить размер памяти, занимаемой картой в памяти компьютера. Но я делаю это не с помощью команд "Image/Mode/Indexed Color", где невозможно провести тонкую настройку, а через специальную программу, которая идёт вместе с Adobe Photoshop. Она называется Adobe ImageReady и предназначена для подготовки различных изображений для их опубликования в Интернет. Причём операция по сокращению цветов проходит в самом Adobe Photoshop - "File/Save for Web..."

Здесь выбираем целевой формат. В нашем случае это GIF, и работаем над сокращением цветов. Обычно хватает 16-32 цветов, полученных с режимом фильтрации "Adaptive". Впрочем, каждое изображение достаточно индивидуально и требует такого же подхода. В результате у нас получится изображение, состоящее из нескольких цветов. Эта операция и называется цветоделением. Но, так как Easy Trace не работает с форматом GIF, то пересохраним наше изображение в любом из указанных выше форматах.

После подготовки растра перед векторизацией или как ещё говорят - трассировкой, наступает черёд закрыть Adobe Photoshop и перейти к следующему этапу. Этим этапом будет создание проекта в Easy Trace. Проект содержит всю информацию о состоянии нашей работы. В нём, в виде слоёв, будут храниться все данные. Помимо векторных слоёв, назначение которых мы рассматривали выше, проект содержит и исходные растровые данные. Они хранятся тоже в виде слоёв, только растровых. В процессе работы, количество растровых слоёв будет возрастать. Как правило, их количество равно количеству векторных слоёв. С чем это связано, мы рассмотрим ниже.

Как создавать новый проект? Всего существует пять вариантов. Мы рассмотрим всего одну схему работы. На мой взгляд эта схема наиболее проста и доступна каждому. Для её реализации нам не потребуются специальные программы других разработчиков. Создание проекта сопровождается очень удобным мастером. В нашем случае наиболее подходящим вариантом, будет создание проекта на основе растрового файла. Для этого вызываем мастер создания нового проекта - "Файл/Новый проект..." После чего появляется следующее окно:

Отмечаем галочкой пункт "Создать проект на основе растрового файла". Именно такой способ показался мне наиболее практичным с точки зрения его дальнейшей привязки. Нажимаем "Далее".

А на втором шаге немного остановимся. Для удобства дальнейшего ввода координат для точек привязки, будет лучше использовать показанную на рисунке ориентацию осей координат. Масштаб можно поставить исходя из масштаба, указанного в бумажной карте. Единицы измерения - пикселы. Разрешение изображения нужно поставить в соответствии с теми параметрами, которые Вы устанавливали при сканировании. Координаты углов остаются как есть. Они соответствуют размеру нашей растровой карты. На этом процесс создания проекта заканчивается. После этого должно появиться окно проекта. Сохраним наш проект, присвоив ему любое имя - "Файл/Сохранить как..."

В окне проекта сразу будет виден наш растр. Не спешите начинать трассировку. Осталось ещё совсем немного. Давайте посмотрим, что у нас имеется на данный момент. Для этого вызовем окно настройки слоёв - "Проект/Слои проекта..." Появится окно, показанное ниже.

Здесь мы всегда сможем увидеть все имеющиеся слои. Как видно, они разбиты на две группы - растровые и векторные. По умолчанию мы имеем по одному слою в каждой группе. Но, помимо информационной, основная функция этого окна, это управление слоями. Именно тут мы можем добавлять, удалять, переименовывать, настраивать, скрывать слои и т.д. Не буду описывать все возможные варианты. Главное знайте, если нужно получить информацию или изменить настройки для любого слоя, то Вам сюда.

Кратко опишу возможные настройки в этом окне. Текущие настройки можно наблюдать и изменять с помощью специального поля с символами, расположенными в слева каждого слоя в окнах растровых и векторных слоёв.

Для растровых слоёв можно задать видимость или невидимость слоя - галочка поставлена или отсутствует, активность или неактивность данного растра при трассировке - карандашик или снежинка и задать имя слоя. Так же здесь указан текущий цвет для бинаризованных слоёв. Его можно менять, исходя из собственных предпочтений.

Для векторных слоёв настроек немного больше. Функции и обозначения видимости и активности для этих слоёв остались такими же, как и для растровых слоёв. Далее мы видим маленький ромбик на фоне квадрата. Это установка типа объекта. В программе Easy Trace возможно создание объектов следующих типов - линии и полигоны. Соответственно, для первого типа ромбик будет пустым, а для полигонов - закрашенным. Далее мы можем задать имя слоя. А вот далее идёт поле, определяющее способ отображения объектов обоего типа в окне проекта. Вариантов достаточно, чтобы достаточно комфортно работать со всеми данными. Как Вы понимаете, для линий возможно изменять только цвет, а вот для полигонов настроек больше. Помимо выбора цвета, можно применять несколько вариантов заливки.

Мы сейчас рассмотрели окно настройки слоёв проекта. Но есть ещё один вариант оперативного управления видимостью и активностью слоёв. Это, появившееся рядом с панелями инструментов, небольшое окно с указанием текущего слоя. Если нажать на раскрывающееся поле, то можно видеть все существующие в данное время слои. Но, в отличие от окна настройки слоёв, здесь мы можем только включать или выключать видимость слоя. Это делается простым снятием или постановкой галочки в нужном слое. Или делать нужный слой активным. Для этого нужно просто выбрать пункт нужного слоя.

Теперь посмотрите на доступные инструменты. Они совершенно разные для двух групп слоёв. Для векторных слоёв набор выглядит так:

А для растровых совершенно иначе:

Я специально не привожу полный перечень всех инструментов. Большинство из них достаточно привычны, а остальные снабжены достаточно хорошими подсказками.

Но давайте вернёмся к нашей работе. Мы сейчас должны работать с растровым слоем. Он у нас пока один. Выберем его, как было описано выше.

Чтобы не загромождать лекцию описанием каждого инструмента, давайте приступим к практической работе. Определим цель. Допустим целью будет получение векторных лесов, озёр и изобат, изображённых на нашем растре. Сначала займёмся изобатами. Почему именно ими? Например потому, что работа по их ручной векторизации достаточно однообразна и неинтересна. Очень не многие наносят на свои карты линии изобат. Вместе с тем, изобаты несут достаточно важную информацию о высотах и рельефе. Поэтому давайте сначала отработаем технологию векторизации именно на них. Перейдём на растровый слой. Свидетельством этого будут инструменты для обработки растра - см.выше. Допустим, наше изображение выглядит так:

Здесь можно заметить, что в процессе обработки, количество цветов уменьшено до минимально возможного количества. На самом деле их здесь всего 12. Теперь давайте посмотрим поближе, как выглядят наши изобаты.

Здесь гораздо яснее видно ограниченное количество цветов. Теперь нам следует подготовить этот растр к трассировке. Залогом успешной трассировки всегда является максимально возможная чистка растра от лишних данных. В нашем случае лишним является всё, что не является изобатами. Соответственно, нам надо удалить ненужные и оставить все цвета, которые относятся к изобатам. Это коричневые оттенки. Для этого существует специальный инструмент. Он называется "Бинаризация". Вызвать его можно или через меню - "Редактирование/Бинаризация..." или выбрав в поле инструментов соответствующую иконку. В панели инструментов для растров она вторая слева.

Суть этого инструмента очень проста - с его помощью можно выделять нужные цвета. Увеличим изображение так, чтобы были видны отдельные пикселы. Примерно так, как показано на рисунке выше. И последовательно выделяем только те цвета, из которых состоит наша линия изобат. Те цвета, которые были выделены меняют цвет. Последовательное выделение нескольких оттенков коричнево должно дать в результате примерно следующее:

Теперь нам надо перенести выделенные цвета, как растровую подложку в наш проект. Но перед этим необходимо выполнить последнюю операцию для растра. Это команда "Бинаризовать". Вызывается она в окне настроек инструмента. После этого мы увидим, что всё, что было выделено, осталось в виде белых областей на чёрном фоне, а прочее исчезло. После этого нам надо избавится от небольшой "грязи" на нашем изображении. Она выражается в наличии одно- двухпиксельных точек хаотично разбросанных по полю. Для их удаления есть особый инструмент. Он вызывается командой "Редактирование/Чистка растра...". Посмотрите окно настройки инструмента и Вы сами поймёте принцип его действия. Однако в нашем случае лучше применить другой способ редактирования полученного растра. Не подумайте, что сейчас начнётся сложнейший процесс, состоящий из десятка операций. Вернее операций будет много, но они будут выполняться в автоматическом режиме. Выберем инструмент - "Редактирование/Фильтрация растра...". В появившемся окне выберем пункт "Thin isolines" и начнём обработку. Если в результате получится не совсем то, что хотелось, то всегда можно отменить это действие. Сохраним полученный файл - "Файл/Сохранить как...".

На самом деле отдельные точки обычно не мешают трассировке. Но в дальнейшем эти инструменты могут очень пригодиться. Важно то, что Вы теперь о них знаете.

Теперь нажмём правой кнопкой мыши на полученном изображении и выберем пункт "Редактирование/Привязать к проекту...". После этого возникнет окно с вариантами привязки растра. Но в нашем случае ничего привязывать пока не надо. Поэтому выберем "Без коррекции (в заданную точку проекта)". В следующем окне укажем, что данный растр будет использовать параметры нашего основного растра. После этого мы снова попадём в окно проекта.

Однако где же наш новый слой? Его почти не видно. Оказывается он отображается вместе с нашим первым слоем и не очень хорошо заметен на его фоне. Сейчас всё поправим. Раскроем меню текущего слоя и снимем видимость нашего первого слоя. После закрытия этого окна, останется видимым только новый слой с изобатами. Правда можно и не убирать основной растр. Однако необходимо исключить его из процесса векторизации. Для этого вызовем окно настройки слоёв и нужном растре вместо карандашика поставим снежинку. Это "заморозит" данный растр.

Только теперь и наступает черёд автоматики. И хотя в выборе вариантов трассировки есть полностью автоматическая трассировка - "Утилиты/Автоматическая трассировка/Трассировка линий... или Оконтуривание...", но лично я предпочитаю работать в полуавтоматическом режиме. Это позволяет контролировать и управлять всем процессом. Именно такой способ и будет показан далее.

Выбираем нужный инструмент трассировки. Чаще всего, как и в этом случае, будет необходим инструмент "Кривая". Он стоит самым крайним слева на меню инструментов для векторных слоёв (см. меню инструментов для векторных слоёв). Выбрав его, нужно указать курсором на произвольное место нужной изобаты. От этого места сразу пойдёт линия. Это уже наш вектор. В местах, вызывающих затруднения для распознавания направления движения, прокладка будет останавливаться и ждать Ваших подсказок. Помогайте ей, переводя курсор к месту продолжения кривой. Если вдруг что-то пошло не так, можно остановить процесс автоматической трассировки, щелкнув правой кнопкой мыши. После этого все действия прекращаются и появляется дополнительное меню инструмента.

В этом окне выберите режим "Откат". Он позволяет, щёлкая левой кнопкой мыши, последовательно убирать ненужные участки кривой. Уберите всё необходимое и, выбрав в этом же меню режим "Автоматическая трассировка", продолжите создание кривой. Если линия замкнутая, как например в центральной части моего примера, то трассировщик сам замкнёт её. Если линия не закончена, то дойдя до её конца, надо просто два раза нажать правой кнопкой мыши и процесс трассировки продолжится уже с другой стороны. Окончить создание можно также дважды щёлкнув правой кнопкой мыши или нажав кнопку Esc. Здесь не описаны все операции, доступные в показанном меню работы с инструментом, но все подсказки на русском языке и достаточно понятны. В результате должно получиться примерно следующее:

Обратите внимание, что я задал стандартный цвет для линий изобат - коричневый. Это делается в перед началом трассировки в окне менеджера слоёв проекта. Можно изменить этот цвет и позже.

Теперь давайте переведём в векторную форму участок леса. Не буду подробно описывать все подготовительные операции. Просто перечислю их:

в поле проекта создаём новый векторный слой с названием "Лес",

переходим на основную растровую картинку, она в цвете,

выбираем инструмент "Бинаризация" и отмечаем все зелёные оттенки, соответствующие обозначению лесистых участков. Должно получиться примерно так:

Вы уже догадываетесь что посте бинаризации у нас не будет одной полностью залитой области. Так и есть:

Вот теперь можно вспомнить и про чистку растра. Если мы сейчас начнём трассировку, то ничего хорошего из этого не получится. Вот типичный пример загрязнённого участка:

Поэтому выбираем инструмент "Редактирование/Чистка растра..." и, настроив этот инструмент, пробуем очистить наш рисунок от ненужной грязи. После выбора значений для данного инструмента равными 4 для удаления и 6 для заполнения и применения данного инструмента 3-4 раза, у меня получилось следующее:

Не идеально, но уже гораздо лучше. Теперь надо сгладить внешние границы этого участка. Как это сделать?

Давайте вспомним принципы работы с изображениями в Adobe Photoshop. Вспомнили? Если нет, ничего страшного. Я сам узнал об этом приёме от разработчиков программы.

Переведём наше изображение в полноцветный режим - "Редактирование/Цветовой режим/TrueColor (24bits)". Выберем инструмент "Редактирование/Размытие..." В настройках для данного случая я выставил значения 95% для коэффициента и 4 для радиуса. Как будет видно, этим мы можем немного размыть и как бы сгладить очертания нашего леса. У меня получилось так:

Теперь с помощью инструмента "Редактирование/Улучшение контраста..." попробуем сделать так, чтобы получилось опять двухтоновое изображение. Для этого я установил значение левого верхнего движка линии настройки равным 85, а правого - 100. После чего опять перевёл изображение в монохромный режим. Вот что получилось в результате:

Как видно, после этой операции исчезли и оставшиеся ненужные участки. Общий вид теперь такой:

Этого вполне достаточно для нашей задачи. Но если вдруг некоторые ненужные участки черного или белого цвета остались, то значит пришла пора выполнить небольшую ручную работу. Для этого выберем инструмент "Редактирование/Редактирование растра". В нижней части окна программы появится окно с настройками этого инструмента. Что бы понять как работает этот инструмент попробуйте использовать его в окне изображения с нажатой левой, а затем правой кнопкой мыши. Посмотрите, что при этом меняется. Всё достаточно просто. Не забывайте, что нам нужны только границы области, поэтому закрашивать все внутренние участки нет никакого смысла. Однако, если в нашем проекте есть вложенные участки - озёра, болота и т.п., то рекомендую Вам сразу сделать контуры и для них. Это нам очень пригодиться в недалёком будущем. В результате получаем изображение с которым уже можно работать дальше. сохраняем его под каким-либо именем и присоединяем к проекту. Векторный слой с названием "Лес" у нас уже есть.

Теперь опять пришла пора трассировки. Выбор инструмента прежний - Кривая. Но если мы сейчас начнём векторизацию, то у нас ничего не получится. Почему? Да потому что в случае с изобатами нам для векторизации нужна была середина растровой линии, а в данном случае нам нужно обводить край растрового участка. Поэтому сменим стратегию растеризации - "Сервис/Параметры трассировки...". Выставим там режим "Трассировать по контуру". После этого можно приступать к процессу. Внимательно смотрите на каком из векторных слоёв Вы сейчас находитесь. все объекты будут располагаться только на текущем слое.

Обязательно надо сказать про настройку стратегий растеризации. Обязательно используйте настройки параметров трассировки. Это может сохранить много времени и нервов. Посмотрите на параметры и попытайтесь найти наилучшие значения для необходимых параметров. Я, например, обычно немного уменьшаю допустимый разрыв контура и увеличиваю угол поиска продолжения. После трассировки и оптимизации формы векторных линий - "Утилиты/Автоматическая трассировка/Оптимизация формы линий...", результат не заставил себя ждать:

Вот так уже достаточно интересно. Правда оптимизацию векторных линий я сделал больше для наглядности. Обычно этой функцией нужно пользоваться умеренно. Потому что все эти векторные данные в последствии ещё будут подвергаться генерализации в программе GPSMapEdit. Напомню, что у нас всего два векторных слоя. Давайте подумаем сколько слоёв нам ещё может понадобится. На исходном изображении видно, что у нас пока не сделаны озёра, ручьи, автомобильные дороги, железные дороги, населённые пункты и болота. Всего шесть слоёв. Но на самом деле их будет немного больше. Объясню почему. Дело в том, что на данном этапе мы работаем только с линиями и полигонами. Посмотрите на рисунок с растровым слоем перед трассировкой леса. Вы видите, что на нём есть не залитые участки, которые остались от озёр, болот и т.п. Этих участков сейчас нет на нашем слое с лесом. Это сделано специально. Если мы обведём этот участок, то в последствии, при экспорте этого слоя, полигон обозначающий Лес и другой полигон, обозначающий отсутствие леса, будут одного цвета и внутренний просто не будет виден. Это осложнит работу по вырезанию одного из другого. Поэтому внутренний участок лучше поместить на отдельный слой и при экспорте задать для него другой цвет. Таких нюансов довольно много, поэтому внимательно посмотрите Ваш участок карты и сразу продумайте свои действия.

Ещё немного про дальнейшие действия. С лесом мы почти разобрались. Теперь наступила очередь озёр. Можно немного упростить процесс трассировки озёр. Ведь у нас уже есть слой на котором есть очертания нескольких озёр. Это тот же самый растровый слой, который мы использовали для трассировки лесистых участков. Можно воспользуемся им. Но перед этим, конечно, создадим векторный слой "Озёра" и сделаем пока невидимыми ненужные векторные и растровые слои. В остальном процесс подготовки растра и трассировка не отличается от описанной выше. Через некоторое время у меня получилось следующее:

Здесь я специально дал вид только очертаний объектов для того, чтобы они не перекрывали друг друга. Как Вы можете видеть здесь уже присутствуют пять слоёв - изобаты, лес, озёра, реки и железная дорога. Кстати для железной дороги очень кстати пришлась функция оптимизации формы линии с чуть большими параметрами, чем обычно. Это позволило значительно сократить количество узлов и сгладить её очертания до исходных.

Ещё один момент. После векторизации таких ответственных объектов как например дороги, часто возникает необходимость в коррекции некоторых узлов на получившейся линии. Как например, для удаления лишних узлов на линии железной дороги в местах, где она пересекает реки. Там стоит символ моста и линия трассировки проходит через него, отклоняясь от основной линии. Для этого выберем инструмент для редактирования узлов - "Редактирование/Редактор". Работа с этим инструментом достаточно проста. Сначала нужно выбрать объект. Выбранный объект становится активным и на нём теперь видны все узлы. Увеличим нужный участок. Если нам надо переместить узел, отмечаем его с помощью левой кнопки мыши и перетаскиваем на нужное место. Если узел требуется удалить, то просто щёлкаем на нём правой кнопкой мыши. Добавить узлы можно щёлкая в нужное место левой кнопкой мыши. Линии также можно объединять, разрывать, замыкать и пр. Это делается этим же инструментом, стоит только переключиться между режимом создания точек в режим захвата отрезков. Этот переключатель Вы найдёте в нижнем поле настройки инструментов. Рекомендую Вам почаще обращать внимание на это поле. Там можно найти очень интересные настройки практически для всех инструментов.

На этом и остановимся.

Перед началом привязки, хочу остановиться вот на чём - весь описанный выше процесс, ни в коем случае не является догмой. Все настройки и используемые инструменты выбирались, исходя из конкретной ситуации и подходят только для карт, подобных взятой для данного примера. И хоть я и постарался взять самую распространённую топологическую основу, но в каждом случае Вам придётся находить свои варианты использования настроек и инструментов. Это творческий процесс, не терпящий однообразия. Вполне может быть, что Вы найдёте ещё не один способ сделать всё ещё точнее и быстрее.

Теперь перед нами стоит одна из самых ответственных задач - перенести все эти данные в программу GPSMapEdit. Этим и займёмся. А как же привязка карты, спросите Вы. И будете абсолютно правы. Без привязки на данном этапе не обойтись.

Привязка карты в любой программе является одним из самых сложных моментов. Не является исключением и Easy Trace. И если ранее я специально указывал на существование различных подходов к процессу трассировки, то сейчас прошу строго следовать моим рекомендациям по процессу привязки. Для реализации качественной привязки нам, как и в любом другом случае, потребуются заранее известные точки, которые можно однозначно определить на карте и их точные координаты. И конечно наша растровая карта, как основа. Лучше всего иметь точки, самостоятельно сделанные с помощью навигаторов. Точнее этих данных нам вряд ли удастся что либо добыть. Да и нет такой необходимости в нашем случае. Лучше всего располагать точки привязки равномерно по всему полю карты. Наилучший результат обычно получается, если расположить четыре точки привязки по краям рисунка и одну поместить в центр. Это будет основа. Остальные имеющиеся точки можно ставить по всему полю. Они будут выравнивать небольшие искажения. Весь процесс привязки, описанный ниже, будет строится именно на базовой системе точек привязки, состоящей из пяти штук. Я понимаю, что это не всегда выполнимо в реальности, но, как Вы увидите далее, этот способ допускает коррекцию привязки по мере получения большего количества точных данных. С этим понятно. Приступим к практической работе.

Первым делом нам надо определить точное расположение точек привязки на нашем растре. Эти значения нам нужны в пикселах. Самым простым способом мне представляется использование всё того же Adobe Photoshop. Откроем в нём нашу карту и, с помощью вкладки "Info", определим координаты наших точек привязки на растре. Не забудьте переключить единицы измерения на пикселы. По умолчанию там, кажется, дюймы или сантиметры.

Ориентирами для наших точек могут быть мосты, развилки, пересечения просек и т.п. В данном примере я взял:

Для первой точки привязки - место впадения ручья в озеро:

Для второй - впадение ручья в реку;

Третья и четвёртая - слияние двух рек;

И пятая точка - это выдающаяся острая заводь на озере.

Для удобства, я ниже привожу схему расположения точек. Сами точки расположены в центрах окружностей. Не забываем, что именно по этим точкам у меня уже должны быть точные геодезические координаты. Впрочем, эти данные можно взять и из карт к программе ГИС Русса. Загрузив их в программу GPSMapEdit, всегда можно посмотреть координаты нужной точки. Не забудьте установить параметры представления координат в "Lat/Lon hdddºmm'ss,s".

В результате у нас есть координаты точек привязки в пикселах на нашей растровой карте и, соответствующие им, координаты на местности в датуме WGS84. Теперь нам потребуется перевести данные из геодезических координат, выраженных в градусах, в линейную систему координат, выраженную в метрах. Для этого можно воспользоваться любым калькулятором для перевода координат из градусов в метры. Вот один из них. Он позволяет рассчитать координаты с точностью до одного метра. В нашем случае этого вполне достаточно.
Всё! Теперь у нас есть все исходные данные для осуществления привязки. Для этого нам необходимо внести их в специальный файл с расширением CPT. Это файл, содержащий информацию о точках привязки. Это простой текстовый файл, который Вы можете создать в любом текстовом редакторе, в котором каждой контрольной точке соответствует отдельная строка, содержащая 4 значения, разделенные пробелами. Первая пара значений задает координаты контрольной точки в исходной системе координат, вторая - в конечной. Набор контрольных точек определяет преобразование между этими двумя системами координат.

Всё просто. Но есть один важный момент. Дело в том, что оси координат по оси Y в программе Easy Trace и Adobe Photoshop не совпадают и перевёрнуты на 180 градусов. Поэтому нам придётся сделать ещё одно арифметическое действие - вычесть из высоты растрового файла карты, выраженного в пикселах, данные по оси Y для каждой точки привязки. В данном примере высота растра была максимальной для демо-режима программы Easy Trace, и равнялась 2000 пикселам. В результате в нашем файле с расширением CPT, будут присутствовать такие данные:

99 1758 533186 7143143

1614 1775 539604 7143284

316 313 534147 7137033

1831 132 540575 7136350

1038 1119 537173 7140495

Вот теперь на самом дел

Категория: Векторные карты системы ГИС Русса | Добавил: Starosta (24.10.2008)
Просмотров: 1863 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2024