Оцифровка ДПХ: Шаг 1 - оцифровка "Гидрографии" (3,5 часа)

Обсуждение бесплатной версии EasyTrace
Ответить
trace98
Интересующийся
Сообщения: 28
Зарегистрирован: 15 янв 2010, 11:00
Репутация: 1

Оцифровка ДПХ: Шаг 1 - оцифровка "Гидрографии" (3,5 часа)

Сообщение trace98 » 07 июн 2011, 12:13

Инструкция была разработана для оцифровки ДПХ (диапозитивов постоянного хранения) в ходе работ по созданию навигационных карт для ГЛОНАСС. Прежде всего, инструкция отражает методику выделения линейных, точечных и полигональных объектов, представленных на растрах, и их взаимного, топологически корректного согласования.

Так как РТУ выполняемых работ требовали выдачу результатов оцифровки в формате SXF, инструкция содержит ряд операций, связанных со специфическими способами представления данных в Панораме. На наш взгляд, наличие этих (как правило, финишных) операций не должно помешать использованию приёмов, описанных в инструкции при подготовке данных для любых других ГИС.

Основным достоинством предлагаемых методик является сокращение времени векторизации материалов с десятков до единиц человеко-часов.

Время, затраченное на оцифровку и атрибутирование объектов гидрографии (полигонов болот, линейных и полигональных объектов гидрографии, точечных объектов и их характеристик), составляет 3 - 3.5 часа на лист масштаба 1:50000.

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


Оцифровка гидрографии по ДПХ


Основные шаги оцифровки
1. Подготовка растра, содержащего штрихи болот
2. Распознавание полигонов болот и коррекция их формы
3. Подготовка растра для векторизации линейных объектов гидрографии
4. Автоматическая векторизация и обработка линейных объектов гидрографии
5. Распознавание урезов воды
6. Обработка рек, изображённых двойными линиями
7. Контроль и правка дефектов формы линий
8. Распознавание полигонов озер
9. Сборка основных русел рек; отделение пересыхающих участков рек
10. Оптимизация формы и согласование линий
11. Перенос объектов на финальные слои; присвоение общих атрибутов
12. Контроль топологии
13. Контроль положения урезов и присвоение им значений высот; генерация и установка подписей
14. Присвоение названий водоемам; ручная оцифровка характеристик рек, направлений течений, порогов и др
15. Контрольная проверка топологии


Шаг 1. Подготовка растра, содержащего штрихи болот

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

Необходимо отделить штрихи болот от прочих линий растра, сшить короткие и удлинить вырожденные штрихи. С этим вполне удовлетворительно справляется утилита "Масочная фильтрация". Используемые настройки (стратегия "Выделение штрихов болот") входят в установочный дистрибутив программы. Все, что необходимо сделать - это выбрать нужную строчку из списка и нажать "Старт".

Стоит отметить, что практически любая оцифровка для достижения большей эффективности должна предваряться подготовкой соответствующего растра.

Результат работы

Исходный растр
Изображение

Растр после обработки
Изображение
Спойлер
1. Создать дубликат исходного растра и дать ему имя "Болота". Внесения изменений в исходный растр следует избегать.

2. Открыть растр "Болота" для редактирования и применить к нему утилиту "Масочная фильтрация". Использовать стратегию обработки "Выделение штрихов болот".

Изображение

Шаг 2. Распознавание полигонов болот и коррекция их формы.


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

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

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

Результат работы

Исходные штрихи
Изображение

Полигноны после распознавания
Изображение

Полигноны без опций "Сглаживание линий" и построения "Крышечек"
Изображение
Спойлер
1. Векторизовать растр "Болота", применив утилиту "Автоматическая трассировка линий";

Изображение

2. Построить полигоны болот, распознав штрихи утилитой "Автоматическое распознавание болот";

Изображение

Изображение

Изображение

3. Методично просмотреть материал (с помощью инструмента "Инспектор") и выполнить правку формы полигонов болот, используя инструменты "Векторная стерка" и "Корректор прогиба";

Изображение

4. Выполнить проверку полигонов болот, применив утилиту "Проверка топологии" со стратегией "Полигоны болот" и исправить найденные ошибки. Проверку повторять до тех пор, пока количество найденных ошибок не будет равно нулю;

Изображение

5. Выбрать все полигоны болот "Групповым редактором" и перенести на слой - ГРУНТЫ И ЛАВОВЫЕ ПОКРОВЫ_pol;

Изображение

6. Не снимая выделения полигонов, присвоить всем объектам значение атрибута _OBJ_TYPE_;

Изображение

7. Болота другого типа (если есть) следует выбрать отдельно и присвоить атрибут "Болота непроходимые".



Шаг 3. Подготовка растра для векторизации линейных объектов гидрографии

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

Результат работы

Растр до растеризации
Изображение

... после растеризации и утоньшения
Изображение

Спойлер
1. Создать дубликат исходного растра и присвоить ему имя "Гидрография";

2. Удалить с растра изображения штрихов болот, применив утилиту "Растеризация векторных данных". Т. е. "впечатать" в растр изображения полигонов болот, используя чёрный цвет;

Изображение

3. Удалить с растра изображение цифр, применив утилиту "Распознавание топо-символов";

Изображение

4. Применить "Масочную фильтрацию" со стратегией "Заливка каверн", с включенным фильтром "Щели 1*1" (в нашем случае исходные растры содержали массу тонких разрывов в линиях, по-видимому, связанных с дефектом сканера);

Изображение

5. Выделить "скелеты" растровых линий, выполнив команду "Утоньшить растр";

6. Убрать весь мелкий мусор с растра, применив "Масочную фильтрацию" со стратегией "Уборка крупного мусора" с фильтром 4*4;

Изображение


Шаг 4. Автоматическая векторизация и обработка линий, образующих объекты гидрографии

Растр подготовлен, лишние объекты, по возможности, удалены, выделены скелеты линий. Теперь можно приступать к векторизации. После этого данные подвергаются обработке рядом автоматических утилит, тем самым сводя долю ручной работы к минимуму. Сюда входит фиксация концов линий на рамке, восстановление линий пунктиров, удаление артефактов (шипов и штрихов) и сшивка длинных разрывов.


Результат работы

Пересыхающие реки до сшивки
Изображение

... и после сшивки
Изображение
Спойлер
1. Векторизовать растр, применив утилиту "Автоматическая трассировка линий";

Изображение

2. Зафиксировать концы линий на рамке, дотянув их утилитой "Коррекция топологии";

Изображение

3. "Сшить" пунктиры, изображающие пересыхающие реки, выполнив "короткую" сшивку утилитой "Сшивка разрывов";

Изображение

4. Зачистить векторный материал от мусора утилитой "Фильтрация линий";

Изображение

5. Сшить длинные разрывы в линиях, применив утилиту "Сшивка разрывов".

Изображение


Шаг 5. Распознавание урезов воды

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


Результат работы

Урезы до распознавания
Изображение

... и после распознавания
Изображение
Спойлер
1. Освободить линии гидрографии от урезов воды с помощью утилиты "Распознавание окружностей";

Изображение

2. Проконтролировать полученные объекты. В результате работы утилиты мелкие озера могли быть распознаны как урезы, их необходимо вернуть на свой Авто_Гидрография. Для возврата озера нужно "Редактором примитивов" выбрать неверно распознанный урез и выполнить команду контекстного меню "Конвертировать";

Изображение

3. Для быстрого и удобного просмотра без пропусков необходимо выбрать урезы "Групповым редактором" и пометить их. После чего переход между объектами выполняется по клавише F;

Изображение

4. Преобразовать полученные окружности в точки утилитой "Преобразование объектов";

Изображение

5. Выбрать все объекты "Групповым редактором" и присвоить атрибут - "Урезы воды";

Изображение

Шаг 6. Обработка рек, изображённых двойными линиями

Условным знаком, обозначающим реку шириной от 5 до 30 метров, является двойная линия постоянной толщины. По правилам цифрового описания такая река должна быть оцифрована одной линией по осевой условного знака. Естественно, после автоматической векторизации такие реки представлены двумя отдельные линиями. В Easy Trace есть полуавтоматический инструмент для построения осевой линии.

Как правило, на листе не бывает много таких рек. Обычно это 1-2 реки, проходящие через весь лист. Длина реки не влияет на затрачиваемое на обработку время.

Результат работы

Река до обработки
Изображение

... и после обработки
Изображение
Спойлер
1. Восстановить одну сторону реки, наиболее целую

2. Сдвинуть восстановленную линию на середину растрового изображения реки инструментом "Сдвиг/расширение полилиний", горячая клавиша R.

3. Удалить вторую сторону реки.

Шаг 7. Контроль и правка дефектов формы линий

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

Сильно ускоряет работу сшивка линий по "двойному клику". Для сшивки двух рядом лежащих концов достаточно навести курсор в место разрыва или рядом с ним так, чтобы концы сшиваемых линий были ближайшими к позиции курсора, и дважды щелкнуть левой клавишей мыши. Эта возможность встроена во все основные инструменты редактирования (Стерка, Корректор прогиба, Редактор примитивов, Топологический редактор), тем самым отсутствует необходимость тратить время на переключение инструментов.

Результат работы

Линии после автовекторизации
Изображение

... и после нескольких секунд работы векторной стеркой
Изображение
Спойлер
1. Перед началом прохода рекомендуется включить режим отображения концов полилиний. Это позволит увидеть рассогласования в линиях и мелкий мусор. Для просмотра поля проекта используем Инспектор;

Изображение

2. Для сшивки разрывов применять двойной клик;

3. Для правки формы линий использовать Корректор прогиба;

4. Для стирания, разрезания и правки объектов использовать инструмент Стерка;

5. Не распознавшиеся урезы проставить инструментом Точка на слой "ГИДРОГРАФИЯ(РЕЛЬЕФ)_pnt";

6. Большие разрывы в линиях дорисовать, используя Криволинейный трассировщик;

7. Скорректировать участки слияния рек, используя Топологический редактор.

Шаг 8. Распознавание полигонов озер

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

Результат работы

Озера до распознавания
Изображение

... после распознавания
Изображение
Спойлер
Выделить полигоны озер на отдельный слой "ГИДРОГРАФИЯ_pol", применив утилиту "Распознавание озер".

Изображение

Шаг 9. Восстановление основных русел рек; отделение пересыхающих участков рек

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

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

Результат работы

Линии до обработки
Изображение

... после обработки
Изображение
Спойлер
1. Сшить и скорректировать места слияния рек, выполнив утилиту "Фильтрация линий" с опцией "Т-Развилки".

Изображение

2. Собрать основные русла рек, сшив отдельные участки, где не сработала утилита фильтрации. Если утилита фильтрации выполнила неверную сшивку, то разрезать линии Редактором примитивов в режиме разделение линий (горячая клавиша W) или воспользоваться векторной стеркой в режиме разрезания.

3. Убедится что включено всего два векторных слоя ("Авто_Гидрография" и "Пересыхающие"). Отделить и перенести на отдельный слой "Пересыхающие" пересыхающие участки рек и пересыхающие реки. Для отделения пересыхающего участка использовать режим Разделение линий (горячая клавиша W) Редактора примитивов. После отделения пересыхающий участок обычно становится выделенным, как наиболее короткий; перенести его на отдельный слой (горячая клавиша S).

4. Собрать вместе участки полигональных рек. Не замыкать реки, выходящие на рамку, иначе во время оптимизации формы линий участки замыкания пострадают.

Шаг 10. Оптимизация формы и согласование линий

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

Оптимизацию нужно выполнять с разными параметрами для разных групп объектов. Параметры оптимизации (стратегии) уже настроены, необходимо просто выбрать их из списка. Параметры подбираются в зависимости от плавности линий для их соответствия растровому изображению.

Результат работы

Линии до оптимизации
Изображение

... и после оптимизации
Изображение
Спойлер
1. Оптимизировать форму линий рек.

Изображение

2. Оптимизировать форму линий озер. Параметры утилиты подбираются более мягкие, чем для рек, иначе форма озер может пострадать

Изображение

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

Изображение

4. После оптимизации формы линий объекты изменили форму и рассогласовались. Согласовать объекты, выполнив утилиту "Коррекция топологии".

Изображение
Шаг 11. Перенос объектов на финальные слои. Присвоение общих атрибутов

По ряду причин работа с "Панорамовскими" слоями неудобна. Поэтому первоначальная оцифровка объектов и их правка происходят на промежуточных слоях (Авто_Гидрография, Пересыхающие). Когда эта часть работы завершена, объекты следует перенести на их целевые слои. Слои "Панорамы" отличаются еще и тем, что содержат настроенные таблицы и домены атрибутов, и для них настроено тематическое отображение объектов. Кроме того, все топологические проверки ориентированы на выполнение не только в рамках одного листа, но на поиск ошибок в уже сшитом покрытии, и поэтому настроены на работу с целевыми "Панорамовскими" слоями.

Результат работы

До переноса
Изображение

... после переноса
Изображение
Спойлер
1. Выбрать все полигоны озер Групповым редактором, перенести на слой "ГИДРОГРАФИЯ_pol" и присвоить атрибут "Озера постоянные";

Изображение

2. Полигональные реки замкнуть по рамке (горячая клавиша D), перенести на слой "ГИДРОГРАФИЯ_pol" и присвоить атрибут "Реки постоянные";

Изображение

3. Перенести линейные постоянные реки на слой "ГИДРОГРАФИЯ_lin" и присвоить атрибут "Реки постоянные (менее 5)";

Изображение

4. Перенести линейные пересыхающие реки на слой "ГИДРОГРАФИЯ_lin" и присвоить атрибут "Реки пересыхающие (менее 5)";

Изображение

5. Перенести реки, изображенные в две линии, на слой "ГИДРОГРАФИЯ_lin" и присвоить атрибут "Реки постоянные (то 5 до 30)".

Изображение

Шаг 12. Контроль топологии

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

Еще один плюс такого подхода - преемственность настроек. После настройки тестов в одном проекте, можно импортировать эти же настройки в другой проект (с аналогичной структурой слоев!). А если настроенный проект использовать в качестве прототипа, то созданные на его основе проекты автоматически будут содержать все тесты топологии.

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

Изображение

Изображение

Изображение

Шаг 13. Контроль положения урезов и присвоение им значений высот. Генерация и установка подписей

Ручной проход по всем урезам воды необходим для обеспечения согласованности урезов с объектами гидрографии, а также ввода атрибутов (высоты). Поскольку высота урезов вводится на основании надписи, которую тоже необходимо "оцифровать", используется функция генерации подписей.

Подпись генерируется на основе введенного в урез значения высоты, при этом используются специальные настройки генерации подписей (слой, тип подписи, высота текста). После ввода векторная подпись вручную согласуется с растровой. При этом любые ошибки или опечатки введенного значения атрибута становятся очевидны. Таким образом одновременно производится и проверка правильности введенного значения.
Спойлер
1. Настроить генерацию текстовых подписей и присвоение им атрибутов;

Изображение

Изображение

Изображение

2. Выбрать все урезы "Групповым редактором" и пометить их;

Изображение

3. Выполнить проход по помеченным объектам (переход по объектам - клавиша F). Согласовать урезы с объектами гидрографической сети. Для получения текстовой подписи включить опции "Генерация подписи" и "Редактирование подписи". После ввода значения высоты будет сгенерирована подпись, которая "повиснет" на курсоре. Установить подпись в соответствующую позицию.

Шаг 14. Присвоение названий водоемам. Ручное снятие характеристик рек, направлений течений, порогов и др.

На заключительном этапе векторизации вручную оцифровываются такие объекты, как характеристики рек, направление течений, пороги и другие. Также производится атрибутирование объектов гидрографии (наименование, судоходность, уточненный тип).

Помимо прочего, из полигональных рек и озер вырезаются найденные острова.

Результат работы

Изображение

Изображение

Спойлер
1. Включить растр, содержащий объекты черного цвета. Он нужен для снятия линий - направлений течения. Включить видео режим "Тематическое отображение" для наглядного отображения;

2. Выполнить проход по полю проекта, используя "Инспектор". Присвоить водоемам названия. Разделять полигональные водоемы при смене названия, используя режим "Автозамыкание" Криволинейного трассировщика;

3. Для снятия объектов: направление течения, характеристика реки, пороги, использовать Криволинейный трассировщик в ручном режиме;

4. Вырезать из полигональных водоемов полигоны островов, перенести их на слой "ГИДРОГРАФИЯ(РЕЛЬЕФ)_pol" и присвоить соответствующий атрибут.

Шаг 15. Контрольная проверка топологии

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

Изображение

Изображение

Изображение

Изображение

Ответить

Вернуться в «EasyTrace»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость